Hibernate:有没有办法自动将原生SQL结果转换为自定义对象?

时间:2012-12-08 21:44:26

标签: java sql hibernate

我有一个原生SQL查询,它返回几个计算结果(例如来自几个表的总和和平均值),我想将这些结果加载到包含所有必要字段的自定义对象中。我知道Hibernate提供了addEntity方法,它允许您指定结果所代表的映射实体的类型。

在这种情况下,由于结果取自多个表,因此我使用的自定义对象不是映射实体。有没有办法让hibernate返回List<CustomObject>或者我必须手动将结果复制到正确的对象?感谢。

Query query = this.sessionFactory.getCurrentSession().createSQLQuery(queryString.toString());

return (List<CustomObject>)query.list(); //doesn't work, obviously

1 个答案:

答案 0 :(得分:5)

看看result transformers。它们旨在完全满足您的需求并为HQL和SQL工作。