【发布时间】:2020-03-26 03:30:25
【问题描述】:
假设我有一个关于 jpa 的查询,例如
@Query(
value = "SELECT user_no, count(*) " +
"FROM users " +
"where status = 'VCS' group by user_task_no",
nativeQuery = true
)
List<Object> getUsers();
现在我可以得到类似的结果
[
[
100,
2
],
[
200,
2
],
[
300,
3
]
]
但是,我希望结果是
[
{
"user_no": 100,
"count": 2
},
{
"user_no": 200,
"count": 2
},
{
"user_no": 300,
"count": 3
}
]
我试着做一个像这样的类
public class UserCount {
private Long userNo;
private Long count;
public UserCount(Long userNo, Long count) {
this.userNo = userNo;
this.count = count;
}
}
做起来
@Query(
value = "SELECT new fullpackage.UserCount(user_no, count(*)) " +
"FROM users " +
"where status = 'VCS' group by user_task_no",
nativeQuery = true
)
List<UserCount> getUsers();
但是,我遇到了一个错误
syntax error at or near "." ...
could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
知道如何解决这个问题吗?
【问题讨论】:
-
是的,我已经用过它并修复了
标签: java sql spring spring-data jpql