JPQL(JPA)如果列表有交集,则查找对象

时间:2015-03-03 12:02:47

标签: java jpa jpql

我有两个类,每个类都有一个标签列表。现在我想找到ClassA的每个对象,其中包含ClassB列表中的任何项目。这可以用JPQL吗?或者使用单个查询?

public class ClassA {
  private List<Label> labels;
}

public class ClassB {
  private List<Label> labels;
}

@Repository
public interface ClassARepository extends JpaRepository<ClassA, Long> {

  @Query("SELECT c FROM ClassA c WHERE :labels ____ c.labels")
  public List<ClassA> findAllByLabels(@Param("labels") List<Label> labels);

}

感谢

1 个答案:

答案 0 :(得分:2)

尝试以下(我没试过):

SELECT DISTINCT(a) FROM ClassA a, ClassB b INNER JOIN a.labels labelA INNER JOIN b.labels labelB WHERE labelA = labelB