一对多分为两个类中
一:GoodsTypeGroups
@OneToMany(targetEntity=GoodsTypes.class,cascade=CascadeType.ALL,fetch = FetchType.LAZY)
@Fetch(FetchMode.JOIN)
//updatable=false很关键,如果没有它,在级联删除的时候就会报错(反转的问题)
@JoinColumn(name="Group_Id",updatable=false)
private Set<GoodsTypes> goodsType;
多:GoodsTypes
@ManyToOne(targetEntity = GoodsTypeGroups.class)
@JoinColumn(name="Group_Id",updatable=false)
private GoodsTypeGroups group;
问题:
运用join fetch进行查询的时候,一GoodsTypeGroups类会出现重复现象,以前运用配置文件方式懒加载false就能解决,但注释方式还没有找到方式,所以写HQL语句的时候运用了distinct,以下sql语句为:
select distinct a,b from GoodsTypeGroups a left join fetch a.goodsType b