Spring Data JPA:如何编写具有IN运算符的子查询

时间:2016-05-20 15:50:03

标签: java spring jpa spring-data spring-data-jpa

我是Spring Data JPA的新用户,想知道如何编写以下子查询:

select o from Owner o where o.ownerId IN (Select c.ownerId from Cars c)

此处Owner是一个实体类,Cars是另一个实体类,我将有两个存储库,一个为OwnerRepository,另一个为CarRepository,两者都扩展JPARepository

使用IN运算符编写此类自定义查询时需要帮助。

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以随时将查询用作自定义查询:

An exception occured in driver: could not find driver

如果您需要将变量传递给查询,请使用@Query(value = "select o from Owner o where o.ownerId IN (Select c.ownerId from Cars c", nativeQuery = true) Owner getOwner(); 标记,如下所示:

@Param