Hibernate条件查询-类强制转换异常
我使用Hibernate(3.2)标准进行查询,并在转换为列表时显示异常 请参见下面我的代码和例外:Hibernate条件查询-类强制转换异常,hibernate,criteria,Hibernate,Criteria,我使用Hibernate(3.2)标准进行查询,并在转换为列表时显示异常 请参见下面我的代码和例外: List<Summary> summaryList; Criteria criteria = session.createCriteria(Summary.class); session.beginTransaction(); summaryList = Criteria.setProjection( Projections.project
List<Summary> summaryList;
Criteria criteria = session.createCriteria(Summary.class);
session.beginTransaction();
summaryList = Criteria.setProjection(
Projections.projectionList().add(Projections.sum("contractDollar"))
.add(Projections.groupProperty("department"))).list() ;
列表摘要列表;
条件=session.createCriteria(Summary.class);
session.beginTransaction();
summaryList=Criteria.setProjection(
Projections.projectionList().add(Projections.sum(“contractDollar”))
.add(projects.groupProperty(“department”)).list();
例外情况:
java.lang.ClassCastException:[Ljava.lang.Object;无法转换为com.abc.model.Summary
即使我将结果指定为我的pojo(摘要),我也不确定为什么会将其返回为“Object”
你能帮我一下吗?我是个冬眠新手
谢谢,
Raja.是
摘要
您试图在结果中返回的映射实体还是bean?不应该两者都是。您需要将实体类传递到会话.createCriteria()
就结果而言,您需要:
summaryList = Criteria.setProjection(
Projections.projectionList()
.add(Projections.sum("contractDollar"), "contractSum")
.add(Projections.groupProperty("department"))
)
.setResultTransformer(Transformers.aliasToBean(Summary.class))
.list() ;
在本例中,您的
Summary
bean需要有setContractSum()
方法。我不确定Summary
是什么,但请尝试:
Criteria criteria = session.createCriteria(Summary.class);
Transaction tx = session.beginTransaction();
summaryList = criteria.setProjection(
Projections.projectionList().add(Projections.sum("contractDollar"))
.add(Projections.groupProperty("department"))).list() ;
Object[] result = criteria.list().get(0);
// result[0] holds the sum of contractDollar
tx.commit();
旧问题,但这一行是金色的:
.setResultTransformer(Transformers.aliasToBean(Summary.class))
获取此错误:无法实例化ResultClasses您是否指定了ResultTransformer?