Spring Data JPA SubQuery

时间:2014-01-29 10:30:59

标签: java spring spring-data

我的情况是我有两个实体,我们说A和B,在B中我有一个关系ManyToOne与A.But在A我没有oneToMany。我正在使用Spring-Data存储库,我想知道是否可以使用Query注释创建一个子查询。 到目前为止,我看到一些人使用CriteriaQuery的示例,但总是使用JOIN示例,在我的情况下,我需要反过来。如果他们的身份不在B中,我需要找到所有的A. 任何优雅而优雅的解决方案?

2 个答案:

答案 0 :(得分:1)

只需将@Query放在接口方法上,然后在那里编写JPQL。这里的例子: http://docs.oracle.com/javaee/7/tutorial/doc/persistence-querylanguage005.htm#BNBVL

e.g。 SELECT DISTINCT a FROM A a WHERE NOT EXISTS (SELECT b FROM B b WHERE <<put your condition here>>)

答案 1 :(得分:0)

您可以使用JPA的 NamedNativeQuery 或自定义pojo类(使用构造函数填充所有必需的字段)但在这种情况下,您将获得对象数组,您必须从对象数组中填充您的记录