我有一张如下表:
user_id number
1 10
2 17
1 12
2 18
我的意思是一个用户可以拥有多行。 我必须达到以下结果:
user_id number
1 12
2 18
我如何用休眠标准实现这个目标?
答案 0 :(得分:3)
你可以试试这个。
Criteria cr = session.createCriteria(User.class);
cr.setProjection(Projections.projectionList()
.add(Projections.groupProperty("userId"))
.add(Projections.max("number")));
这是一个未经测试的代码。
答案 1 :(得分:2)
select u.id, max(u.number) from User u group by u.id
这是您需要的HQL查询。我认为没有任何意义将其转化为标准,但如果你真的想这样做,那就不难了。您需要使用Projections
类的投影。