简体   繁体   English

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

[英]JPQL (JPA) Find Object if list have intersection

I have two Classes each of which hold a list of Labels. 我有两个类,每个类都有一个标签列表。 Now I want to find every object of ClassA that holds any item of the list of ClassB . 现在我想找到包含ClassB列表中任何项的ClassA每个对象。 Is this possible with JPQL? 这可以用JPQL吗? Or using a single query? 或者使用单个查询?

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);

}

thanks 谢谢

尝试以下(我没试过):

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM