在Spring Data Repository中使用引用类字段作为过滤器

时间:2017-03-24 22:47:17

标签: spring spring-data

背景:我有三个模型,所有者,财产和社区。财产提及其所有者,另一个提到社区。

我需要进行以下查询:查找符合某些条件的社区中的所有所有者(楼层编号,属性字母等,条件的所有字段都在Property类中)

有没有办法在存储库中实现它而不创建双向关系或编写本机查询?类似的东西:

Set<Owners> findAllByCommunityAndProperty_floorNumberAndProperty_letter(Community community, Property property);

(我需要双向关系来进行上述查询)

1 个答案:

答案 0 :(得分:0)

您可以使用像这样的查询

SELECT o 
FROM Property p 
INNER JOIN property.owners o
WHERE p. ...

有关连接语法的各种示例,请参阅http://www.objectdb.com/java/jpa/query/jpql/from#INNER_JOIN_

在Spring Data JPA中,您可能会使用@Query annotation将该查询绑定到方法。