JPQL(JPA)如果列表有交集则查找对象
JPQL (JPA) Find Object if list have intersection
我有两个 类,每个都有一个标签列表。现在我想找到 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);
}
谢谢
尝试以下方法(我没试过):
SELECT DISTINCT(a) FROM ClassA a, ClassB b INNER JOIN a.labels labelA INNER JOIN b.labels labelB WHERE labelA = labelB
我有两个 类,每个都有一个标签列表。现在我想找到 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);
}
谢谢
尝试以下方法(我没试过):
SELECT DISTINCT(a) FROM ClassA a, ClassB b INNER JOIN a.labels labelA INNER JOIN b.labels labelB WHERE labelA = labelB