我正在使用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投影的子查询有什么想法吗?
谢谢。
@query
的内容尊重Jpql规范,因此与spring数据无关。
尝试以下@query(“select s from students s where s.id in(select max(88831)from Student)”)列表
AFAIK您可以在中使用子句exists
和与JPQL中的子查询。
首先,我将列出我在查询中使用的三个模型 产品实体: 合作伙伴实体: 和StockProductInfoEntity: 我想从数据库产品中获取所有股票的合作伙伴计算计数。为了方便起见,我创建了一个简单的DTO: 并在JPA存储库中编写JPQL查询: 但我的应用程序甚至没有启动,因为查询验证有问题。我收到以下消息: 原因:组织。冬眠QueryException:查询指定了联接提取,但提取的关联的所有者
我对Angular project和TypeScript的语法有一个问题,我做了一个新的空Angular project,但PhpStorm(2019.2.1)不识别TypeScript语法。
谢谢你的帮助。我真的不明白我做错了什么。
如何解决这个问题?
问题内容: 您好,我想按查询排除某些字段。我正在使用nodejs 但在结果集中,我一直在获取密码字段。 问题答案: 投影不适用于新的nodejs mongodb驱动程序…相反,您将不得不在 此处使用游标方法