问题标签 [entitygraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
275 浏览

java - 使用@NamedEntityGraphs 注解时如何避免“代码异味”?

在 IntellyJ Idea 中,我安装了 SonarLint。

代码分析器说我必须从此注释组中删除“NamedEntityGraphs”包装器。这是我的代码:

以下是 SonarLint 的论点:

注解重复不应该被包裹 代码异味,Minor,java:S1710

在 Java 8 之前,如果您需要使用同一注解的多个实例,则必须将它们包装在容器注解中。在 Java 8 中,这不再是必要的,允许更清晰、更易读的代码。请注意,当项目的 sonar.java.source 低于 8 时,此规则会自动禁用。

不合规代码示例

 

合规解决方案

问题:

是否有人知道如何组织@NamedEntityGraphs 以获得兼容的代码?

0 投票
0 回答
48 浏览

java - JPA实体图问题

我在书和作者之间有多对多的关系,我有 3 个表:作者、书和 author_book。

使用存储库:

在 AuthorRepository 中,我有 2 种方法:getGraphById()用作者加载书籍,getById()不加载书籍。

问题是当使用@test标签(jUnit测试)时,一切都按预期工作,但是当我通过邮递员调用api时,两种方法都会加载书籍并且它是无限的(书籍->作者->书籍->作者-> ...) .

0 投票
1 回答
46 浏览

hibernate - 我可以将休眠字符串 entityGraph 与使用 org.springframework.data.jpa.repository.EntityGraph 的子图一起使用吗

我需要指定根实体的关系实体的获取行为我想为此使用spring数据org.springframework.data.jpa.repository.EntityGraph注释在上面的方法库中指定图形。但是当我写

我收到错误,无法在此 ManagedType 上找到具有给定名称 [order(items(subitems))] 的属性

问题:我可以在不使用图形 java API 的情况下以某种方式使用“order(items(subitems))”图形表示法吗?

0 投票
0 回答
183 浏览

java - 子图可以引用另一个命名实体图吗?

所以我找到了一些答案,一个说可以这样做,另一个说不能。这让我很困惑,因为当我尝试这样做时 - 我失败了。

我想要的是在这样的子图中引用命名实体图:

我想使用 Spring Data 存储库方法:

但是当我想引用grandChildren类似的东西时,我仍然会收到 LazyInitializationException parent.child.grandChildren(注意,只要我手动将 @NamedSubgraph 添加到父实体 - 一切正常)。那么是否可以这样做以使代码更清晰而不重复自己?我在这里错过了什么吗?

0 投票
0 回答
98 浏览

spring-boot - 如何使用连接表加载相互关系@OneToMany的2个实体的完整图表

我正在使用 Spring Boot 和 Spring Data,但在尝试使用 JPA 和 EntityGraph 加载实体时遇到问题。我有一个患者和保险实体。每个患者可以有多个保险,每个保险可以分配给多个患者。我决定使用加入表 PatientInsurance,因为我需要存储额外的字段,如“活动”,以及关系代码(患者可以是该特定保险的成员、配偶或孩子)。

使用 Spring Data 存储库,我使用 EntityGraph 注释了查找患者的方法,以便在一个查询中为该患者准备好 PatientInsurances(和保险)列表。

这是代码(我删除了范围内不必要的部分)

病人等级

保险类

患者和保险之间的连接表的实体(需要一个连接表用于该实体中的额外字段,如 active 和 relCode

患者服务的实施

患者资料库

调用 PatientService 中的方法的代码片段

所以问题似乎是当我进入患者侧时,我可以毫无问题地循环进入他的保险,但是当我尝试从保险实例开始做同样的事情时,我无法进入它的患者,因为他们是懒惰的加载。那么如何让jpa以正确的方式下载全图呢?

0 投票
0 回答
62 浏览

spring-boot - Spring Data Page Jackson serialization issue

I faced strange behavior for Spring Page serialization. I have endpoint that return Page as a response body. However, there was n+1 select problem, that's why I implemented repository method with entity graph argument.

This code works well for me as far as resolved n+1 problem (I can see it from in logs with "show-sql:true"). However, serialization problem occurred as far as response json was something like:

So many missed data: page info that is always placed in json root with context (totalElements etc.), context contains only 1 object although there should be 20 elements on the page, even this 1 object contains only 1 child entity data although there are many children mentioned in entity graph with @ManyToOne relation.

To solve this problem I added Hibernate5Module:

I know that it could also be added in configureObjectMapper, but, please, it doesn't matter for now. Adding these beans resolved 3rd issue mentioned above as far as my object now contains all the fields and children info as expected. But there are still Page info and other 19 elements missed. I am pretty sure that it is serialization issue because when I use debugger to evaluate result I receive all the necessary information:

Debugger evaluation

I don't know how to fix it. Moreover, it's interesting how adding entity graph could cause such issues. Please, help!

0 投票
1 回答
72 浏览

spring-boot - @EntityGraph 注释不能正常工作?

findAll()我需要通过遵循不同的 EntityGraphs 注释来为同一方法实现两种不同的实现。通过引用另一个 StackOverflow 帖子,我找到了findAll()一种使用不同 EntityGrpahs 实现相同方法的方法。但是,当我使用该帖子中提到的默认方法时,我没有得到预期的行为。它忽略@EntityGraph注释并按照默认行为返回惰性集合。请提供此问题的修复程序或说明我可以实施以解决此问题的任何其他更好的解决方案。

请参考Femi回答的帖子中的第二个答案。 参考

0 投票
1 回答
99 浏览

java - 延迟获取具有多个关系的实体:无法编​​写 JSON:无法延迟初始化角色集合

我有以下实体:Toy、Cat、CatFood 和 Food。基本上,猫与玩具的关系是 1:1,而猫和食物是使用 CatFood 的 m:n 关系。

我正在尝试调用此函数

我在用玩具取猫时使用相同的想法,因为玩具实体没有其他关系,并且它们被加载没有问题

0 投票
0 回答
56 浏览

java - 为什么使用@NamedEntityGraph 抛出异常?

我有Spring Boot应用程序。在应用程序中存在实体:

特点是Paragraph实体与其他段落具有反身的OneToMany关系。我制作了 JpaRepository 以便获得该段落的子段落:

但是如果我使用@EntityGraph这个方法,调用这个方法会抛出异常,否则方法工作正常。这是我在使用时得到的异常堆栈跟踪@EntityGraph

我该如何解决?谢谢。

0 投票
0 回答
267 浏览

spring - Spring JPA中表的嵌套关联的实体图

我的数据库中有 3 个表:

SalesOrderMaster
SalesOrderDetail
CustomerMaster

我有存储库类 SalesOrderDetailRespository.java 有这个方法 findAll()

到目前为止,这是在获取SalesOrderMaster记录和相关SalesOrderDetails记录。现在我的要求是在SalesOrderInfo课堂上,我添加了一个新属性来显示客户信息,例如在 CustomerMaster 表中的名称、国家/地区。

customerMaster 表通过 customerId 列与 SalesOrderMaster 相关联。如何在现有的 EntityGraph 中添加 CustomerMaster 表以便我可以获取此信息?