如何将查询映射到非实体类+实体类

我知道如何在IBatis中查询resultClass映射。

如何将本机查询结果映射到hibernate中混合使用实体类和标量的对象? 我该如何设置参数?

请帮忙。

使用Hibernate Session API,您可以通过组合addEntity()addScalar()方法来实现:

 Query q = s.createSQLQuery( "select p.*, count(e.id) as c " + "from Project p left join Employee e on p.id = e.project_id " + "group by p.id") .addEntity(Project.class).addScalar("c"); 

在JPA中,您可以使用@SqlResultSetMapping

 @SqlResultSetMappings( @SqlResultSetMapping(name = "projectWithCount" entities = @EntityResult(entityClass = Project.class), columns = @ColumnResult(name = "c"))) ... Query q = s.createSQLQuery( "...", "projectWithCount")