Hibernate框架详解

本文介绍了Hibernate ORM框架的基本概念,包括其工作原理、配置方法及常用API。详细讲述了从环境搭建到核心配置文件编写的过程,并解释了实体对象的不同状态及其转换方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Hibernate是一个数据持久化层的ORM框架。

        hibernate是一个开源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。使得java程序员可以随心所欲的使用对象编程思维来操作数据库。

2、编写流程:

    (a)导入jar包;

    (b)创建数据库和表;

    (c)编写核心配置文件(hibernate.cfg.xml)--->配置获得链接等参数;

    (d)编写映射文件hibernate mapping(*.hbm.xml);

    (e)    编写代码并测试;

3、hibernate常用的一些方法:

    delete(object objname)--->删除指定的持久化对象;

    deleteAll(Conllection   conllectionName)--->删除集合内全部持久化对象;

    find(String parameter)--->根据HQL查询字符串来返回实体集合,find方法执行时会先查缓存,如果缓存找不到再    

    找数据库,再找不到就返回null;

    get(Class clazzName,Serializable id)--->根据主键加载特定的持久化实例;   

    注:get()查到数据返回实例,查不到返回空;load()查到数据返回实例,查不到抛出异常ObjectNotFoundException.

   save(Object objName)--->保存新的实例;

    saveOrUpdate(Object objName)--->根据实例状态选择保存或跟新;

    注:如果对象是临时对象,没有id就调用save()方法;有id的游离对象就调用update()方法;

    update(Object objName)更新实例状态,实例必须持久化;

    Object execute() 是HibernateCallback接口类;

    bulkUpdate( ) 通过语句直接增加更新删除实体;------一般用于批量。

4、核心配置文件编写

    <hibernate-configuration>

        <session-factory>

           <!--数据库连接基本四项-->

           <property  name="..." >com.mysql.jdbc.Driver</property>

           <property  name="..." >jdbc:mysql://192.168.*.*:3306/***?characterEncoding=utf8</property>

           <property  name="..." >username</property>

           <property  name="..." >password</property>

          <!--添加映射文件-->

           <mapping   resource=".......User.hbm.xml"/>

           ...........

           ............

        </session-factory>

    </hibernate-configuration>

5、Hibernate 主键生成策略

        Assigned:在插入数据时主键由用户自己添加;

        Sequece:调用数据库的Sequence来生成主键;---要设定序列名,否则hibernate无法找到。

        increment 插入数据时候hibernate会给主键添加一个自增的主键,但是一个hibernate实例就维护一个计数器,所

        在多个实例运行的时候不能使用这个方法;

6、实体对象的三种状态:

     a、自由状态:不曾进行持久化,来与任何session相关联;

      b、持久化状态:仅与一个session相关联;

       注:持久化实例可以通过调用delete()变成游离态。通过get()和load()得到的实例都是持久状态;

     c、游离状态:已经进行了持久化,但当前未与任何session关联。

7、session介绍:

    session的生命周期绑在一个屋里的食物上面(tansaction);

    session 的主要功能提供对映射实体类的创建,读取和删除;

8、Hibernate进行持久化的主要步骤:

    a、Hibernate的初始化,创建Configuration对象。

    b、创建SessionFactory实例。

    c、创建Session实例。

    d、创建Transaction实例 开启一个事务。

    e、利用session的方法进行持久化操作。

    f、提交操作结果并结束事务。

    g、关闭session--->与数据库断开连接。


        



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值