HIbernate框架基础浅析(二)

1. Hibernate的配置文件
  1) 全局配置文件: hibernate.properties, hibernate.cfg.xml
     数据库连接参数的配置,数据库方言,映射文件的声明,其它...
  2) 对象关系映射文件(Xxx.hbm.xml):对象模型-->关系模型
     <class>     实体类   --> 表
     <id>        OID      --> 主键
     <property>  普通属性 --> 字段
  3) 主键生成策略:native(整数), uuid(字符串), assigned(手动生成), foreign(外键)
  4) 数据类型映射:integer,long,character,boolean...,string
                   timestamp,date,time
                   clob,blob,text
 
2. Session缓存: 一级缓存. session会把操作过的对象缓存起来,以便在当前工作单元中重用。
    自动清理机制:Session会把缓存中对象的数据跟数据库进行同步。
    默认是在事务提交时进行自动清理。flush()方法可以手动清理缓存。

3. Hibernate中对象的生命周期
  1) 瞬时状态transient 刚新创建的对象
       a) 没有纳入session的管理。
       b) OID没有值。
       c) 数据库中没有对应的记录。

  2) 持久化状态persistent
       a) 纳入session的管理。
       b) OID有值。
       c) 数据库中有对应的记录。
       d) 在session清理缓存时,根据此对象的属性状态来自动同步更新数据库对应的记录。   
  3) 移除状态removed
       a) 纳入session的管理。
       b) OID有值。
       c) 数据库中有对应的记录。
       d) 在session清理缓存时,会删除数据库中对应的记录。
       e) 移除状态的对象,你不应该再使用了。
 
  4) 脱管状态detached
       a) 没有纳入Session的管理。曾经和某个Session关联过。
       b) OID有值。
       c) Hibernate不保证数据库是否存在对应的记录。
       d) 更改它的属性状态,也不同步到数据库中。

4. Session的基本操作
   1)C: Serializable save(Object obj)
   2)R: Object get(Class clazz, Serializable oid),
        Object load(Class clazz, Serializable oid),
   3)U: void update(Object obj)
        void saveOrUpdate(Object obj)
        Object merge(Object obj)
   4)D: void delete(Object obj)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值