Hibernate检索策略总结

来源:互联网 发布:娶洋妞 知乎 编辑:程序博客网 时间:2024/05/01 15:32

(1) Session具有缓存,每一个持久状态的对象都被纳入session的缓存中,不同Session的缓存控件事不一样的,
      数据库中的一条记录在一个session中只能对应一个对象,不同的|Session可以有不同的对象对应数据库中的统
      一条记录

(2) 在Hibernate中中,对象有三种状态:临时态,持久态和托管态

                       临时态 ------save()--------持久态----------Session.close()-----------托管态
                                                                             《----------------update()---------------

(3) 区分对象可以根据内存地址或对象携带的信息,以内存地址为依据时,使用==,以对象携带信息为依据时,使用Object.equals(Object anotherObject)方法

(4) 在一方使用inverse=true

(5) 在1对多,多对多方,使用lazy=true

(6) 在多对1,1对1方,使用fetch=join

(7) 检索策略的优先级,从大到小是 HQL>预先抓取->立即加载或延迟加载
       HQL将忽略第一层的预先抓取,但延迟检索策略对HQL的检索扔有效,附属层始终采取配置文件的策略