hibernate检索策略

Hibernate检索机制,主要分为三种:

1.立即检索策略:检索一个对象时会把与之间的对象检索出来。

2.延迟检索策略:避免加载多余的对象,防止空间资源浪费。

3.做外链接策略:利用SQL的外连接的查询功能,减少检索SQL语句的条数。

以下对于三种策略进行解释:

1.立即检索策略:

  优点:当使用检索策略,不管对象处于持久化状态,还是游离状态,都可以从一个对象导航到与他关联的另一个对象。

  缺点:由于select语句的数目太多,需要频繁的访问数据库,

2.延迟检索策略:

  优点:由应用程序决定需要加载那些对象,可以避免执行多余的select语句,以及避免加载应用程序不需要访问的对象。因此能够大大提高检索的性能,并且能够很好的节省内存空间。

  延迟检索使用范围:

  ①一对多或者多对多关联。②应用程序不需要立即访问或者根本不会访问的对象。

  缺点:应用程序如果希望访问游离状态的代理类实例,必须保证它在持久化状态时已经被初始化。要不然会出现异常。

3.左外连接检索策略:

  优点:对应用程序完全透明,不管对象处于持久化,还是游离状态,应用程序都可以方便的从一个对象导航到与它关联的对象。使用了外链接,select语句数目少。

  缺点:可能会加载应用程序不需要访问的对象,白白浪费许多内存空间;复杂的数据库表连接也会影响检索性能;

  左外连接检索使用范围:

  ①多对一或者一对一关联。②应用程序需要立即访问的对象。③数据库系统具有良好的表连接性能

  

原文地址:https://www.cnblogs.com/LCH-M/p/7443801.html