Hibernate检索策略是什么

技术Hibernate检索策略是什么本篇内容介绍了“Hibernate检索策略是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

本文介绍了“什么是Hibernate搜索策略”的知识。很多人在实际案例操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

Hibernate检索策略包括类级别检索策略和关联级别检索策略。

类检索策略包括即时检索和延迟检索,默认检索策略为即时检索。在Hibernate映射文件中,检索策略是通过在类上配置惰性属性来确定的。对于Session的检索方式,类级检索策略只适用于加载方式;也就是说,对于get和qurey检索,将立即加载持久对象,而不管lazy是假还是真。一般来说,我们检索对象只是为了访问它们,所以立即检索是通常的选择。因为当无法检索对象时,load方法会引发异常(在立即检索的情况下。),我个人不建议使用负载检索;因为类中的惰性属性也会影响多对一和一对一的检索策略,所以使用load方法就更没有必要了。

层次检索策略包括即时检索、延迟检索和紧急左外连接检索。对于相关性级别的检索,可以分为一对多和多对多的情况,多对一和一对一的情况。

集合配置通常用于一对多和多对多关联。设置惰性和外部连接属性,它们不同的值绝对决定了检索策略。

1.立即检索:这是一对多的默认检索策略,其中lazy=false,outer-join=false。虽然这是默认的检索策略,但是如果关联的集合没有用,那么就不要使用这种检索方法。

2.延迟检索:lazy=true,outer-join=false(outer-join=true没有意义。这是首选的检索方法。

3.急左外联接检索:lazy=false,outer-join=true此时,这种检索策略只适用于依赖id检索(load,get)的集合检索。),但不进行查询(它将采用立即检索策略。与立即检索相比,这种检索策略减少了一条sql语句,但在Hibernate中,只有一个集合可以配置为outer-join=true。

多对一和一对一检索策略通常使用多对一和一对一配置。多对一中要配置的属性是外连接,同时需要配置与一方关联的类的惰性属性(多对一中配置不是惰性的。他们的组合检索策略如下:

1.outer-join=auto:这是默认值,如果lazy=true则延迟检索,如果lazy=false则紧急离开outer join检索。

2.outer-join=true:与懒惰无关,所有搜索都是紧急左外连接。

3.outer-join=false:如果lazy=true,则是延迟检索;否则,就是立即检索。

可以看出,默认情况下(外部连接=自动,惰性=假。),通过紧急左外连接搜索关联的单侧对象Hibernate。在我看来,在很多情况下,我们不需要在一边加载关联的对象(很可能我们需要的只是id。关联对象的。此外,如果关联的对象也是通过紧急左外连接进行搜索,那么select语句中会有多个外连接表,如果数量较多,会影响搜索性能,这也是Hibernate通过hibernate.max_fetch_depth属性控制外连接深度的原因。对于紧急左外连接检索,查询的集合检索不适用,将采用立即检索策略。

Hibernate检索策略需要根据实际情况进行选择。对于即时检索和延迟检索,它们的优点是select语句简单(每个表一条语句),查询速度快,缺点是关联表时需要多个select语句,增加了访问数据库的频率。因此,在选择即时检索和延迟检索时,我们可以考虑使用批处理检索策略来减少select语句的数量(配置批处理大小属性)。对于左切外连接的搜索,优点是select语句少,缺点是select语句的复杂度增加,多个表之间的关联将是一个耗时的操作。另外,配置文件是死的,但程序是活的,可以根据程序中显示的需求指定检索策略(可能经常需要在程序中显示紧急左外连接检索)。为了了解检索策略的配置情况,您可以配置show_sql属性来查看程序运行时Hibernate执行的sql语句。

“什么是Hibernate搜索策略”的内容到此结束。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133792.html

(0)

相关推荐

  • 无停顿的GC算法翻译

    技术无停顿的GC算法翻译 无停顿的GC算法翻译无停顿的GC算法
    ? ·································译者:黄俊
    摘要
    现在对于响应时间敏感的应用受限

    礼包 2021年11月4日
  • python循环语句(python循环语句的运用)

    技术Python循环语句怎么用小编给大家分享一下Python循环语句怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是循环呢?简单理解

    攻略 2021年12月19日
  • 箱线图怎么画,SPSS中如何绘制箱图

    技术箱线图怎么画,SPSS中如何绘制箱图箱线图主要包含六个数据节点,将一组数据从大到小排列,分别计算出它的上边缘箱线图怎么画、上四分位数、 中位数、下四分位数、下边缘,还有一个异常值。工具/原料电脑:组装台式机系统:wi

    生活 2021年10月27日
  • 空间认证,谁能告诉我怎么弄腾讯认证空间

    技术空间认证,谁能告诉我怎么弄腾讯认证空间腾讯与2010年11月10日正式宣布认证QQ空间已经向所有QQ用户开放申请了,只要你是QQ空间用户就可以申请认证空间了,至于申请认证空间有什么用我们在文章的最后给大家分析下. 先

    生活 2021年10月20日
  • 大于小于号怎么用,一年级数学的大于号小于号怎么分

    技术大于小于号怎么用,一年级数学的大于号小于号怎么分大于号小于号的区分方法:尖角向左的是小于号,尖角向右的是大于号大于小于号怎么用。 1、大于号、小于号被广泛运用在算数中,是小学必学的内容。是数学中不等式运算符号的一种。

    生活 2021年10月25日
  • 送老公什么生日礼物,老公生日送什么礼物合适

    技术送老公什么生日礼物,老公生日送什么礼物合适夫妻这一生送老公什么生日礼物,即便是能够轰轰烈烈,也不会持久,平淡是最后的绝唱,人生的意义,深深蕴含于平凡生活中,平平淡淡相伴才是真。而如何在平淡相伴着的每一天里,都能仍旧保

    生活 2021年10月27日