В настоящее время у меня есть следующий именованный запрос, который оборачивает хранимую процедуру: -
<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;
...
}
Код Hibernate, который вызывает именованный запрос и отображает результат в bean-компонент: -
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
...
}
Как мне сопоставить имена моих столбцов со столбцами хранимой процедуры в моем названном запросе выше?
Спасибо.
ОБНОВЛЕНИЕ - я добавил свое окончательное решение ниже.