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

JPA,我怎么能有两个查询,一个使用懒惰,一个使用渴望获取?

韦原
2023-03-14

我有一些嵌套的对象,包->文档->页面。包包含一组文档,文档包含一组页面。我与pages->documents和documents->pages的关系都设置为EAGER,因为当我请求一个包时,我希望它得到所有的文档和所有的页面。

做这件事的首选、最有效的方法是什么?

共有1个答案

蔚俊人
2023-03-14

这里已经解释过了:在Hibernate中JOIN和JOIN FETCH的区别

将您的关系设置为lazy,并使用join fetch编写一个查询,以急切地检索所有子查询,同时使用一个简单的join保持常规查询以懒散地获取数据。

 类似资料:
  • 考虑以下实体: 的应该被延迟获取。问题是,当使用

  • 问题内容: 我有两个用于查询表中行的SQL查询,具体取决于类型2或3。 查询1: 查询2: 现在,我只想获取和使用一个查询的值。如何使用一个查询获得计数。有没有办法做到这一点。我正在使用SQLite数据库。 编辑: 我想要分别为和的值,而不是两者都在一起(不使用)。 问题答案: 尝试使用 对于两个变量:

  • 我有一个问题,就是基于hasMany关系从数据库中获取数据并将其发送到Larave中的api。在下面的代码中,Laravel没有给我客户id=$id的产品。我不知道为什么,我不能在$query旁边发送$id。如果我把号码写在“我有很好的安全套,但我需要自动拿。 所有api代码 先谢谢你。

  • 我正在使用JPA QueryDSL从DB查询数据,这很管用。现在,我有一个用JPA QueryDSL编写的复杂的select查询,我需要使用它创建一个临时表,如下所示(POSTGRES)。 有没有人可以帮助使用JPA QueryDSL定义上面的查询。有可能用JPA查询处理DDL吗? 您对我的问题提出的建议将不胜感激。

  • 问题内容: 如果按以下方式实现单例, 此实现与延迟初始化方法有何不同?在这种情况下,实例将在加载类时创建,并且仅在第一次使用时才加载类本身(例如,Singleton.getInstance(),而当您声明实例Singleton singleton = null;时则不会)。 即使采用惰性初始化方法,该实例也是在对getInstance()的调用上创建的 我在这里想念什么吗? 问题答案: 您也可以调

  • 我有一个项目中有两个不同的运行时(一个是lambda,一个是fargate)。我有两个不同的配置,但只希望运行一个。 如何排除和包含配置类?这似乎不起作用: 而且由于它们位于相同的“路径”中,因此我不能仅排除软件包 因为“持久”包也将被排除。