开发者社区 问答 正文

hibernate 多对多配置orm出的对象bug

举例说明

个人

@Entity

@Table(name = "baseinfo_enterprise")
public class APPLICANT {
// 行业类型

private List<TRADE_ASTYPE> trade_types;
@OneToMany(fetch=FetchType.EAGER)
@JoinTable(name = "relate_enterprise_tradetype", joinColumns = { @JoinColumn(name = "enterprise_id", referencedColumnName = "uuid") }, inverseJoinColumns = { @JoinColumn(name = "tradetype_id", referencedColumnName = "uuid") })

行业类型 @Entity
@Table(name = "base_astype")
public class TRADE_ASTYPE {

//个人
private List<APPLICANT> applicants;
@OneToMany(mappedBy="trade_types")
public List<APPLICANT> getApplicants() {
return applicants;
}

2个对象 对象关系是n:n 我配置无论是oneTomany 还是manyToMany 结果使用 criteria.list()查询个人List时候都可能会多出现一个结果

个人表

id   name 

1     张三

行业表

id  name

1  电子

2 航天

关联表 假设 张三对应这2个行业 那么得出的结果为什么是list 是2条记录呢

展开
收起
huc_逆天 2020-05-28 09:20:54 441 分享 版权
1 条回答
写回答
取消 提交回答
  •     criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    
    2021-02-21 01:28:00
    赞同 展开评论