我目前有圍繞一個存儲過程封裝了以下命名查詢: -休眠:在存儲過程映射自定義列名命名查詢
<hibernate-mapping>
<sql-query name="mySp">
<return-scalar column="name_first" type="string" />
<return-scalar column="name_last" type="string" />
{ call some_sp :param }
</sql-query>
</hibernate-mapping>
列name_first
和name_last
是由存儲返回的確切的列名程序。我創建了一個包含相同列名的bean,以便我可以將查詢結果映射到該bean中。
public class MyBean {
private String name_first;
private String name_last;
...
}
調用指定的查詢和結果映射到bean的Hibernate代碼: -
MyBean myBean = (MyBean) sessionFactory.getCurrentSession()
.getNamedQuery("mySp")
.setParameter("param", param)
.setResultTransformer(Transformers.aliasToBean(MyBean.class))
.uniqueResult();
所有這些做工精細,但而不是依靠列名從存儲過程,我想在MyBean
用我自己的列名,例如: -
public class MyBean {
private String firstName; // instead of name_first
private String lastName; // instead of name_last
...
}
如何對存儲過程中的列我的列名在我命名查詢上述地圖?
謝謝。
UPDATE - 我在下面添加了我的最終解決方案。
謝謝,我說我在'Answers`節最終的解決方案。 – limc 2011-02-01 21:06:40