使用jpa存储库

时间:2018-03-03 18:35:56

标签: spring-boot spring-data spring-data-jpa jpql

假设我有3个实体 - UserSkillsDepartment 我有与所有这些相对应的存储库 - UserRepositorySkillRepositoryDepartmentRepository

我理解实体之间的关系映射,即一对多次,应该在相应的实体类中指定。问题是我想在查询中使用所有3个实体。我该怎么办?单个存储库只与一个实体相关联吗?那么,我将如何/在哪里写它?

1 个答案:

答案 0 :(得分:0)

由于有许多不同的方法可以使用Spring Data JPA指定查询,因此可以有各种答案。

  1. 也许你没有必要。如果实体A引用B并且您只想使用B获取A,则只需使用ARepository加载A s并使用对象导航来获取B。您可能会阅读有关如何控制此操作的更多信息。

  2. 如果您希望where条件中的引用实体,您可以在查询方法名称中使用属性路径:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.query-property-expressions

  3. 如果您正在使用@Query注释,您可以(几乎)使用JPQL执行任何操作。除此之外,您还可以导航属性以在where子句中使用它们。

  4. 通常,您可以根据返回的主要实体将该查询放入匹配的存储库中。