开发者社区> 问答> 正文

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条记录呢

展开
收起
kun坤 2020-06-05 23:23:07 570 0
1 条回答
写回答
取消 提交回答
  • 数据库从来不会外键######        criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);######哦 太感谢了。顺便问您下,我怎样才能把对象转换成json 呢。能贴下你的代码更好了######@宝石娃娃 Criteria 没有去重######我用你的这个方法去重了,能和我说下原因吗? 为什么hibernate不默认去掉这个呢

    2020-06-05 23:23:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载