(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的检索扔有效,附属层始终采取配置文件的策略