Java JPA获取一对多会产生重复
我正在尝试获取如下所示的实体:Java JPA获取一对多会产生重复,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我正在尝试获取如下所示的实体: @Entity public class Product{ @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true) private List<ProductVersion> versions; } Product1{ version1, version1, version1, version2,
@Entity
public class Product{
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true)
private List<ProductVersion> versions;
}
Product1{
version1,
version1,
version1,
version2,
version2,
version2
}
Product2{
version1,
version1,
version1,
version2,
version2,
version2
}
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
编辑:我当前的查询看起来有点像这样(我使用的是JPAQuery):
我已经发现,在Criteria Api中,您可以这样解决此问题:
@Entity
public class Product{
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true)
private List<ProductVersion> versions;
}
Product1{
version1,
version1,
version1,
version2,
version2,
version2
}
Product2{
version1,
version1,
version1,
version2,
version2,
version2
}
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
然而,我正在寻找一个JPA解决方案。所以我的问题是如何使用JPA解决这个问题