gpt4 book ai didi

hibernate : Repetition in FetchMode. 加入

转载 作者:行者123 更新时间:2023-12-02 23:53:26 26 4
gpt4 key购买 nike

我有一个部门表和一个雇员表。 dept 表与 emp 表与 deptId 存在一对多关系。

当我尝试这段代码时:

session.createCriteria(Dept.class).setFetchMode("empMap", FetchMode.JOIN)
.list();

这是我的控制台中由 hibernate 生成的 sql 查询生成的输出:

select this_.DEPT_ID as DEPT1_1_1_, this_.DEPT_NAME as DEPT2_1_1_, 
empmap2_.DEPT_ID as DEPT3_3_, empmap2_.EMP_ID as EMP1_3_,
empmap2_.EMP_ID as formula0_3_, empmap2_.EMP_ID as EMP1_0_0_,
empmap2_.EMP_NAME as EMP2_0_0_, empmap2_.DEPT_ID as DEPT3_0_0_,
empmap2_.AGE as AGE0_0_, empmap2_.SEX as SEX0_0_
from dept this_, emp empmap2_
where this_.DEPT_ID=empmap2_.DEPT_ID(+)

在生成的 hibernate 查询中,我可以清楚地看到 emp 表的列中有重复。但我不希望出现这些重复。那么如何避免 hibernate 生成的查询中的重复呢?

请告知如何删除这些重复。

问候,

最佳答案

有一些解决方法:

  1. 您可以将项目添加到 HashSetLinkedHashSet - 这将删除重复项或
  2. 您可以尝试使用不同的获取模式。有关获取模式的详细信息,请参阅此链接 here - 我使用 SUBSELECT 取得了相当好的结果。

关于 hibernate : Repetition in FetchMode. 加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10968179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com