Boj*_*vic 8 java spring hibernate jpa
我正在使用@NamedEntityGraph注释从数据库加载图表.
@NamedEntityGraph(
name = "Firma.uredjivanje",
attributeNodes = {
@NamedAttributeNode(value="prevodi", subgraph = "prevodi")
},
subgraphs = {
@NamedSubgraph(
name = "prevodi",
attributeNodes = {
@NamedAttributeNode(value = "jezik", subgraph = "jezik")
}
)
}
)
Run Code Online (Sandbox Code Playgroud)
在Spring Data JPA存储库中,我使用的是注释:
@EntityGraph(value="Firma.uredjivanje", type = EntityGraph.EntityGraphType.LOAD)
List<Firma> getByAktivna(boolean aktivna);
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作,期望所有关系都加入,我得到重复的Firma实体(因为JOIN).我得到{1,1,1,2,2,3}而不是实体ID为{1,2,3}的List.
获取不同实体的最佳方法是什么(如果这不是一个错误的话).
找到答案...由于NamedEntityGraph在数据库中执行JOIN,它会选择没有DISTINCT的所有实体.因此解决方案是在方法名称中使用Distinct ...
@EntityGraph(value="Firma.uredjivanje", type = EntityGraph.EntityGraphType.LOAD)
List<Firma> getDistinctByAktivna(boolean aktivna);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4955 次 |
最近记录: |