I currently have the following named query that wraps around a stored procedure:-
<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>
The columns name_first
and name_last
are the exact column names returned by the stored procedure. I created a bean that contains the same column names so that I can map the queried result into that bean.
public class MyBean {
private String name_first;
private String name_last;
...
}
The Hibernate code that calls the named query and map the result into the bean:-
MyBean myBean = (MyBean) sessionFactory.getCurrentSession()
.getNamedQuery("mySp")
.setParameter("param", param)
.setResultTransformer(Transformers.aliasToBean(MyBean.class))
.uniqueResult();
All of these work fine, but instead of relying on the column names from the stored procedure, I want to use my own column names in MyBean
, for example:-
public class MyBean {
private String firstName; // instead of name_first
private String lastName; // instead of name_last
...
}
How do I map my column names against the stored procedure's columns in my named query above?
Thanks.
UPDATE - I added my final solution below.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…