Mih*_*vic 5 postgresql jpa distinct jpql
我有一个 JPA 实体 User,其中包含一个字段(实体)City。我想选择一页,例如 10 个来自不同城市的用户。
在 SQL 中我会使用类似的东西:
SELECT DISTINCT ON (u.city_id) u.username ,u.email, u.city_id ....
FROM user u LIMIT 0,10 ....
Run Code Online (Sandbox Code Playgroud)
但我需要使用 JPQL 或 JPA 标准生成器来完成此操作。我怎样才能实现这个目标?
小智 0
You can do this by using Hibernate Criteria Query
sample code can be like this
Criteria criteria = session.createCriteria(user.class);
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.distinct(projectionList.add(Projections.property("city_id"), "cityId")));
projectionList.add(Projections.property("username"), "username");
projectionList.add(Projections.property("email"), "email");
criteria.setProjection(projectionList2);
criteria.setResultTransformer(Transformers.aliasToBean(user.class));
List list = criteria.list();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3057 次 |
| 最近记录: |