• hibernate检索策略


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

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

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

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

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

    1.立即检索策略:

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

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

    2.延迟检索策略:

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

      延迟检索使用范围:

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

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

    3.左外连接检索策略:

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

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

      左外连接检索使用范围:

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

      

  • 相关阅读:
    java获取当前时间(年~~毫秒)
    python获取当前时间
    PyThon3运算符
    PyThon3中判断一个内容属于另一个内容("a" 在 “abcd”中
    PyThon3判断语句
    【BZOJ2460】元素(BJOI2011)-异或线性基+贪心
    【BZOJ3534】重建(SDOI2014)-矩阵树定理
    【BZOJ1227】虔诚的墓主人(SDOI2009)-线段树+离散化+组合数
    【BZOJ2815】灾难(ZJOI2012)-拓扑排序+建树+LCA
    【BZOJ2209】括号序列(JSOI2011)-Splay
  • 原文地址:https://www.cnblogs.com/LCH-M/p/7443801.html
Copyright © 2020-2023  润新知