如何使用类属性在hibernate中映射列?

时间:2013-10-21 05:44:41

标签: java spring hibernate

我的问题陈述是: - 我想在hibernate中调用存储过程,我希望在对存储过程返回的列执行某些操作后将每个列映射到类属性.. 因为任何hibernate查询返回对象列表而不是结果集.. 所以如何在hibernate中执行... 我知道在春天我们可以轻松地使用 jdbcTemplate Map row 概念,但我只想使用Hibernate ..

更多细节可以在我的上一个问题中找到: - Alternative to NamedParameterJDBC template row mapper in Hibernate

1 个答案:

答案 0 :(得分:1)

有时我们有一个类,我们想根据查询返回的数据填充数据。该类是一个简单的POJO而不是Hibernate实体,因此Hibernate不会识别这个类。这可以通过使用变形金刚在Hibernate中完成。

(UserActivityStat)hibernateSession.createQuery("select count(*) as totalPhotos from Photo p where p.user = :user").setResultTransformer(Transformers.aliasToBean(UserActivityStat.class)).uniqueResult();

在上面的例子中,totalPhotos是Class UserActivityStat的一个属性,它不是HibernateEntity。使用变形金刚可以达到你的结果。