这是一个重要的补充,特别是在能够编写高效的动态HQL查询时解决性能问题.
但是,如果加载特定父项或另一个映射实体属性,我们如何修改HQL转换器?
以下代码:
session.createQuery( "select st.stNumber as stNumber, st.stDate as stDate " + " from SomeTable st " + " where st.someTableId < 1000") .setResultTransformer( Transformers.aliasToBean(database.SomeTable.class)) .list();
工作正常,但如果我只想加载一些父母的属性怎么办?
例如,让我们说,SomeTable
有一个父母被叫SomedParent
,我想只访问这个父母的一个字段?
session.createQuery( "select st.stNumber as stNumber, st.stDate as stDate, st.someParent.someParentField as someParentField " + " from SomeTable st " + " where st.someTableId < 1000") .setResultTransformer( Transformers.aliasToBean(database.SomeTable.class)) .list();
那么任何想法?