当前位置:  开发笔记 > 编程语言 > 正文

如何在加载特定父项或其他映射实体属性时修改HQL转换器?

如何解决《如何在加载特定父项或其他映射实体属性时修改HQL转换器?》经验,为你挑选了0个好方法。

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

那么任何想法?

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有