使用Hibernate本机SQL查询仅加载一些列

时间:2011-01-05 10:32:23

标签: sql hibernate native loader

我在数据库上有一个表,我想只从结果集加载一些列,因为在Hibernate中映射的主对象与自身有关系,而且对象非常大。我在hbm文件中定义了一个本机sql查询:

    <sql-query name="query">
  <return alias="r" class="RawData"/>    
     <![CDATA[
       SELECT DESCRIPTION as {r.description}
       FROM RAWD_RAWDATAS r       
       WHERE r.RAWDATA_ID=?
      ]]>
 </sql-query>

但是此查询失败并显示错误:无法从结果集中读取列值:RAWDATA1_14_0_;列名无效SQL错误:17006,SQLState:null ,因为Hibernate尝试从结果集加载所有字段。我在Hibernate JIRA中也发现了一个错误(http://opensource.atlassian.com/projects/hibernate/browse/HHH-3035)。任何人都知道如何通过解决方法完成此任务?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)