当前位置: 首页 > 知识库问答 >
问题:

如何覆盖FetchType。渴望在运行时偷懒

赫连心思
2023-03-14

使用JPA EntityManager和JPA查询对象,我如何覆盖在查询中惰性获取注释@OneToMany(fetch=FetchType.EAGER)的内容?

如果我有hibernate查询对象,我可以让它创建一个criteria对象,并使用它将fetch类型设置为lazy。但我必须使用JPA查询对象。这个问题有什么解决办法吗?

共有2个答案

俞俊逸
2023-03-14

查看Hibernate获取配置文件或JPA实体图。自从你在2012年提出这个问题以来,这个问题已经解决了。

姬雪松
2023-03-14

即使使用本机Hibernate API,也无法做到这一点。如果一个关联被定义为“急切”,它将总是被急切地加载,并且无法使用查询来改变这一点。

反之则不然:您可以使用查询急切地加载一个惰性关联。

 类似资料:
  • 问题内容: 我试图覆盖Python类的方法,因为我想每次实例属性更改其值时都调用另一个函数。但是,我不希望该方法出现此行为,因为在此初始化期间,我设置了一些稍后将要使用的属性: 到目前为止,我有此解决方案,而不必在运行时重写: 但是,我想避免这些,并在方法末尾进行覆盖: 我尝试了和,但是这些尝试都没有效果。我已经阅读了数据模型参考的这一部分,但是看起来自己的分配有些棘手。 如何可能在的末尾进行覆盖

  • Net:“junitreport”似乎没有提供一种方法来设置它在执行转换时使用的临时文件夹,而且似乎也没有提供更新“java”的方法。io。报告任务的tmpdir。在这种情况下,请设置“user”。主页或java。io。调用ant时从命令行调用tmpdir不是一个可以使用的解决方案。 详细介绍:我在ant/mantis中使用junit任务,语法如下: 这似乎是一种非常标准的用法,添加了“echo”

  • 我应该使用哪个保险套件?是Eclemma还是Jacoco? 如何使用覆盖包运行该工具?我应该把它添加到build.xml文件中吗?我应该把它添加到命令行吗? 我对Java中覆盖的整个概念有点困惑。在Python和Perl等动态语言中,我只需使用coverage模块执行代码,该模块创建coverage报告。 我们用来执行out工具的命令: 我很难理解和。我试图覆盖的文件是。在的某个内部文件夹中有,在

  • 我正在使用thuncydides jbehave插件来运行Selenium测试。但是,由于 jbehave 超时,我总共无法运行超过 5 分钟的测试。我不知道如何配置thuncydides/jbehave来覆盖这个限制。硒测试过去比5分钟更长,所以这对许多人来说应该是一个实际问题。

  • 使用:Hibernate 4 在父子关系中,有一个FetchType。迫不及待地映射,我注意到Hibernate随时都会加载父实体,EntityManager。查找是对一个孩子执行的。这似乎有点浪费。父对象的“幕后”加载会在持久性上下文中产生一个额外的SELECT和额外的对象。此外,它还强制应用程序在删除子应用程序时处理父子关联。 为什么冬眠会这样?这是JPA规范规定的吗?

  • 我有对象主位置和主国家/地区 MasterLocation.java 主位置存储库.java 为什么对象MasterCountries仍然加载在findByLocationNameLikeIgnoreCase上?如何在此存储库中禁用获取主国家/地区? 谢谢