考虑以下实体:
@Entity
public class User {
private int id;
private String name;
private String family;
//getters and setters
}
和 sql:
select *
from (select row_.*, first_Value(rownum) over (order by rownum desc) countـ
from (select * from user) row_)
您可能会猜到 sql 的结果集由四列组成:
id, name, family, countـ
我通过以下方式检索用户表记录作为用户列表:
String myQuery = "select * from (select row_.*, first_Value(rownum) over (order by rownum desc) count_
from (select * from user) row_)"
Query query = entityManager.createNativeQuery(myQuery, User.class);
List<User> users = query.getResultList();
现在的问题是,我如何仅通过调用 getResultList() 或任何其他休眠等效项来检索用户列表并计算值?
我使用 Oracle 11g 和 Jpa (Hibernate implementation 3.6)
提前致谢。