Spring Data JPA是否具有“成员”的命名约定?

时间:2014-06-04 04:29:22

标签: java jpql spring-data-jpa

Spring Data JPA基于接口方法的命名约定构造了许多查询。是否有任何命名约定来执行"MEMBER OF" query

我可以使用以下内容来使用JPQL:

@Query("select e from MyEntity e where ?1 member of e.entities")

但是,如果可能的话,我想使用名称约定方法。我在文档中找不到任何关于它的内容,所以我希望我只是遗漏了一些东西。如果有一些根本原因没有办法解决这个问题,我也有兴趣知道这一点。

3 个答案:

答案 0 :(得分:0)

略读本文档的最新版本,它看起来并不像。以下是可用的方法名称关键字:

http://docs.spring.io/spring-data/jpa/docs/1.6.0.RELEASE/reference/html/jpa.repositories.html#d0e1599

答案 1 :(得分:0)

我似乎关于ContainingIsContainingContains)关键字的文档不完整。

https://dzone.com/refcardz/core-spring-data扩展了文档如下:

  

包含:包含,IsContaining,包含(String 或集合   类型仅限)

因此,您可以使用Containing关键字替代member of

例如:

// select e from MyEntity e where ?1 member of e.entities
findByEntitiesContaining(TypeOfMember member);

答案 2 :(得分:0)

不幸的是,泽洛诺提供的答案对我不起作用。

但是,我通过使用findDistinctBy并发出Containing达到了预期的效果。我知道这似乎不合逻辑,但已完成工作:

// select e from MyEntity e where ?1 member of e.entities
findDistinctByEntities(TypeOfMember member);