【发布时间】:2017-07-31 00:02:02
【问题描述】:
这是数据库中的行。
group userid
1 a
2 b
1 c
3 d
我想用@query注解查询一下
@Query(value ="SELECT *, count(*) as cnt FROM user group by body order by cnt DESC", nativeQuery = true)
List<User> getGroupRanking();
而且,我希望得到大约
group cnt
1 2
2 1
3 d
但List<User> 集合不接受作为别名的“cnt”属性。
另一个不接受的原因,用户定义的类不包含“cnt”属性。我在用户类中定义了'cnt'属性,如下代码。
public class User{
@Column(name ="group")
private String group;
..
private Integer cnt;
public Integer getCnt(){ return cnt; }
public void setCnt(Integer cnt){ this.cnt = cnt; }
}
虽然我会阻止更新架构,但上面的代码会更新架构。因为
appConfig.xml 配置是这样设置的
<prop key="hibernate.hbm2ddl.auto">update</prop>
我不想更新架构,我想在使用@Query 注释时通过用户类(bean)在 JSP 文件中显示 cnt 属性。如何在没有更新架构的情况下使用 User 类接受“cnt”属性? 'as' 关键字用法不详(link)
【问题讨论】:
标签: spring-data-jpa