Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA查询上的pojo映射_Java_Sql_Spring_Spring Data_Jpql - Fatal编程技术网

Java JPA查询上的pojo映射

Java JPA查询上的pojo映射,java,sql,spring,spring-data,jpql,Java,Sql,Spring,Spring Data,Jpql,假设我有一个关于jpa的问题,比如 @Query( value = "SELECT user_no, count(*) " + "FROM users " + "where status = 'VCS' group by user_task_no", nativeQuery = true ) List<Object> getUsers(); 然而,我希望结果是 [ {

假设我有一个关于jpa的问题,比如

@Query(
        value = "SELECT user_no, count(*) " +
                "FROM users " +
                "where status = 'VCS' group by user_task_no",
        nativeQuery = true
)
List<Object> getUsers();
然而,我希望结果是

[
    {
        "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();
你知道如何解决这个问题吗?

新语法适用于jpql,而不是sql。不能将其与nativeQuery一起使用。您必须执行以下操作:

@Query(
        "SELECT new fullpackage.UserCount(userTaskNo, count(*)) " +
        "FROM Users " +
        "where status = 'VCS' group by userTaskNo"
)
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
@Query(
        "SELECT new fullpackage.UserCount(userTaskNo, count(*)) " +
        "FROM Users " +
        "where status = 'VCS' group by userTaskNo"
)
List<UserCount> getUsers();