我在Hibernate中有一个映射类,它包含一个命名的sql查询,该查询计算某些搜索参数的整数的最小值。实际的查询非常复杂(因此,我既不能将它作为标准编写,也不能在Hibernate版本中作为HQL编写)。
数据库中的返回类型是整数,但我有一个Usertype将该整数映射到日期(在我的示例中也不可能修改db-schema)。
问题是:如何为通过解析的命名查询指定返回类型。
我试过以下几种方法。我的UserType是
<hibernate-mapping>
<typedef class="com.package.MyUserType" name="MyUserType"/>
<class>...</class>
<sql-query name="queryName">
<return-scalar column="alpha" type="MyUserType"/>
select min(myColumn) as alpha from Table01 where attribute=:param
</sql-query>
</hibernate-mapping>但是,执行该命名查询将导致
org.hibernate.MappingException: could not determine type null但是MyUserType在我的类映射中运行得很好。
编辑:
我刚刚发现,如果我使用com.package.MyUserType作为类型,它就能正常工作。因此,问题似乎是,我的ty胡枝子在我的sql-查询中没有正常工作。在我的班级里,它工作得很好。(请注意上面显示的hibernate映射中的ty胡枝子行)
Hibernate-我必须使用的版本: 3.2.7.ga
发布于 2013-02-06 08:32:04
如我的编辑所述:
<return-scalar column="alpha" type="com.package.MyUserType"/>效果很好。类型胡枝子定义由于某些原因不起作用。对于我的hibernate版本,我没有发现任何这样的bug报告。
https://stackoverflow.com/questions/14704875
复制相似问题