Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA获取一对多会产生重复_Java_Spring_Hibernate_Jpa - Fatal编程技术网

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解决这个问题