1 Hibernate中对象有哪几种状态,有什么规则

参考答案

Hibernate中对象可以看做有3种状态,分别是临时态、持久态、游离态,这些状态可以相互转换,转换规则如下图:

图-1

具体各个状态的特征为:

  1. 临时态的对象可以被垃圾回收
  2. 临时态的对象未进行过持久化,未与session关联
  3. 持久态对象垃圾回收器不能回收
  4. 持久态的对象进行了持久化,与session相关联,即持久态对象存在于session缓存中,由session负责管理。
  5. 持久态对象的数据可以自动更新到数据库中,时机是在调用session.flush()时执行。而提交事务时会调用session.flush(),因此提交事务时也会触发同步,可以理解为ts.commit=session.flush()+commit
  6. 游离态的对象可以被垃圾回收
  7. 游离态的对象进行过持久化,但已与session解除了关联

2 Hibernate中哪些查询方法具有延迟加载机制

参考答案

  1. session.load();
  2. query.iterate();
  3. 关联映射中对关联属性的加载

3 Hibernate中有几种类型的关联映射,你掌握哪几种

参考答案

Hibernate中的关联映射有如下几种:

  1. 一对多关联
  2. 多对一关联
  3. 多对多关联
  4. 一对一关联
  5. 继承关联

目前我掌握了一对多关联映射。