我有一个查询来获取计数和名称,就像这样,当我运行这段代码时,它运行良好,得到了结果。
entityManager.createQuery("SELECT d.departmentName,COUNT(a.status) FROM TableA a,TableD d WHERE a.status = 6 and a.waitDepartmentId=d.id group by d.departmentName").getResultList();
但是,由于性能问题和其他一些问题,我必须在JPA中使用构造函数表达式运行上述查询,但是在运行查询之前,IDE警告我SQL语法无效。 d.departmentName之后以逗号显示的消息是“操作员或FROM预期,但得到了','”我尝试过的代码如下:
entityManager.createQuery("SELECT new tr.package.Pojo((SELECT d.departmentName,COUNT(a.status) FROM TableA a,TableD d WHERE a.status = 6 and a.waitDepartmentId=d.id group by d.departmentName)) FROM TableA a").getResultList();
如何在JPA中运行选择查询并使用构造函数表达式获取一些数据?我该如何写正确的SQL秒代码?