这是一个重要的补充,特别是在能够编写高效的动态 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();
那么有什么想法吗?