2013-10-21 60 views
0

我的問題是: - 我想在休眠時調用存儲過程,並且我想在對存儲過程返回的列執行特定操作之後將每列映射到類屬性。由於任何hibernate查詢返回對象的列表,而不是結果集..所以我怎麼能做到這一點休眠... 我知道在春天,我們可以做到這一點很容易地使用JdbcTemplate的地圖行概念,但我只想使用Hibernate ..如何使用類屬性映射hibernate中的列?

更多細節可以在我的prev問題中找到: - Alternative to NamedParameterJDBC template row mapper in Hibernate

回答

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。使用變壓器,你可以達到你的結果。

+0

有趣的..你能給我更多關於這個細節..我可以檢索結果從程序使用此.. –

+0

http://stackoverflow.com/questions/4863883/hibernate-mapping-custom-column-names在存儲過程命名查詢 –

+0

謝謝@Pratik我試圖實現它 –

相關問題