描述
criteria动态查询中,先使用setProjection(Projections.rowCount()),获取查询的总数,再通过setProjection(null); 来获取返回的实体列表。
在有关联查询的时候会出错: can't cast to type.
原因:
setProjection()会将返回结果方式设为PROJECTION,默认的是ROOT_ENTITY
public Criteria setProjection(Projection projection) { this.projection = projection; this.projectionCriteria = this; setResultTransformer( PROJECTION ); return this; }
当setProjection(null)时,返回结果将不会被投影,返回所有查询到的值,所以关联查询时结果查过root entity,不能正确转换为root entity。
解决方法:
在setProjection(null)之后,添加setResultTransformer( Criteria.ROOT_ENTITY);将返回结果置为root entity。
相关推荐
Hibernate Criteria 排序的問題
关于Hibernate操作持久化类的Criteria方式的书本方法
Hibernate的Criteria用法总结Hibernate的Criteria用法总结
hibernate criteria 分组 排序 关联 hibernate criteria 分组 排序 关联
Criteria查询将数据查询条件封装成为一个对象,可以堪称是传统SQL的对象化表示。
hibernate criteria的使用方法
这个案例是根据分组查询,并且得到每组的条数,不懂得可以q我:1710086675,欢迎认识更多新朋友
Hibernate Criteria 完全使用详解
NULL 博文链接:https://chenlinbo.iteye.com/blog/335677
Hibernate中Criteria的完整用法
Hibernate中Criteria的完整用法 Criteria 是一个完全面向对象,可扩展的条件查询API,通过它完全不需要考虑数据库底层如何实现、SQL语句如何...
hibernate-Criteria hibernate-Criteria hibernate-Criteria hibernate-Criteria hibernate-Criteria hibernate-Criteria
Hibernate-Criteria_模糊查询
Hibernate 提供了操纵对象和相应的 RDBMS 表中可用...Hibernate Session 接口提供了 createCriteria() 方法,可用于创建一个 Criteria 对象,使当您的应用程序执行一个标准查询时返回一个持久化对象的类的实例。
Hibernate中Criteria的用法
NULL 博文链接:https://ssydxa219.iteye.com/blog/1543253
Hibernate的Criteria用法