Hibernate检索策略

Hibernate检索策略简介

  • 类级别检索策略:Session的load()和get()方法,以及Query的HQL语句直接指定检索的是Customer对象,对Customer对象到底才用是立即检索还是延迟检索。默认是延迟检索,影响的只是load()方法。

  • 关联级别检索策略:对与Customer关联的Order对象,即Customer对象的order集合,到底是才用立即检索,还是延迟检索或迫切左外连接检索。默认也是延迟检索,影响Session的load和get方法,以及QueryAPI和CriteriaAPI;例外情况是QueryAPI会忽略映射文件中配置的迫切左外连接策略。

程序代码中的检索策略会覆盖映射文件中配置的检索策略,要是程序代码中没有显示的设定检索策略,则才用映射文件中配置的检索策略。当然也有例外,HQL检索方式就会忽略映射文件中配置的迫切左外连接策略。

到底是采取立即检索还是延迟检索:要是之为了访问它的属性就可以才用立即检索;只是为了获得它的引用,就可以才用延迟检索。

相关推荐