如何将查询映射到非实体类+实体类
我知道如何在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")
- 为什么在Hibernate中使用org.hibernate.TransactionException并避免
- 只读模式下不允许写操作 – 持久化时发出
- 使用JBoss和Spring在Java Web应用程序之间共享业务对象实例的最佳方法是什么?
- Java Hibernate / C3P0错误:“无法获取连接元数据。 客户端尝试签出连接的尝试已经超时。“
- 使用hibernate计算group in中的其他字段
- 从数据库加载26MB文本数据消耗了258MB的JVM堆
- save和saveOrUpdate方法之间的区别hibernate
- 处理大量具有分页的数据库条目随着时间的推移而减慢
- Hibernate java.lang.OutOfMemoryError:Java堆空间