当前位置: 首页 > 知识库问答 >
问题:

带子查询的Spring JPA投影问题

林俭
2023-03-14

我正在使用JPA投影,但当我的查询包含子查询时,它就失败了。例如:

public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "student_id")
    private Long id;

    private String name;

}

下面是投影的界面:

public interface StudentProjection {
    Integer getId();
}

和存储库:

@Query("select s from Student s where s.id = 88831")
List<StudentProjection> findProjections();
@Query("select s from Student s where s.id = (select max(88831) from Student)")
List<StudentProjection> findProjections();

关于如何使用JPA投影的子查询有什么想法吗?

谢谢。

共有1个答案

商夜洛
2023-03-14

@query的内容尊重Jpql规范,因此与spring数据无关。

尝试以下@query(“select s from students s where s.id in(select max(88831)from Student)”)列表 findProjections();

AFAIK您可以在中使用子句exists与JPQL中的子查询。

 类似资料: