在Hibernate中,如何从多个连接表中选择多个列作为新的类对象

时间:2013-12-30 09:25:25

标签: sql database hibernate statistics hql

我是Hibernate的新手。我的应用程序应该支持简单的统计功能,从多个连接表中选择汇总几个列,所以我对一个新类进行了十分之一的接受,并希望直接在HQL中返回它,我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用JPA构造函数表达式实例化实体和非实体类型,即NEW关键字:

List<MyReport> dtos = em.createQuery("SELECT NEW com.example.MyReport( o.title, o.version) FROM Entity o").getResultList();

DTO必须有一个包含所有相关字段的构造函数。

这是纯JPA,即JPQL。它将在Hibernate中工作,因为Hibernate实现了JPA。使用HQL可能会有一些稍微不同甚至相同的方法。