开发者社区> 问答> 正文

hibernate 注解 级联 查询 结果重复 什么原因?:报错


hibernate 注解 级联 查询 数据重复,商品表  --> 评论表 (一对多) ,插入时正常,查询时 结果重复(有多少条评论,结果中就产生了多少条相同商品并且包括 对应的 评论)

hibernate 级联时生成的 sql 语句 ( * 处更改过):

 select *
    from
        item this_ 
    left outer join
        comments comments2_ 
            on this_.iid=comments2_.iid 
    where
        mkid = 1 
        and cid in (
            1,2,3,4,5
        ) 
    order by
        this_.aid desc limit 10
商品 Item 的注解:

@OneToMany(targetEntity=Comments.class, cascade = { CascadeType.ALL },fetch = FetchType.EAGER,orphanRemoval=true)
	@JoinColumn(name="iid")
	@NotFound(action = NotFoundAction.IGNORE)
	private List<Comments> comments;
评论类只有id有注解,数据库中商品表的主键id是评论表的外键,找了很久都没有解决...

这个结果重复是什么原因呀???




展开
收起
kun坤 2020-06-06 00:38:39 579 0
1 条回答
写回答
取消 提交回答
  • 是你的查询语句有问题吧,这样会产生笛卡尔积,当然就会多了,一般是先查主表,通过初始化,把子表懒加载出来.

    2020-06-06 00:38:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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