我知道如何在IBatis中查询resultClass映射。
如何将本机查询结果映射到hibernate中混合使用实体类和标量的对象?如何设置参数?
请帮助。
答案 0 :(得分:2)
使用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")