gpt4 book ai didi

java - Hibernate-NamedSqlQuery UserType 作为 ReturnType

转载 作者:行者123 更新时间:2023-11-30 07:19:24 26 4
gpt4 key购买 nike

我在 Hibernate 中有一个映射类,它包含一个命名的 sql 查询,该查询计算某些搜索参数的整数的最小值。实际的查询非常复杂(所以我既不能将其写为标准,也不能在我的 Hibernate 版本中将其写为 HQL)。

数据库中的返回类型是一个整数,但我有一个将该整数映射到日期的用户类型(在我的情况下也无法修改数据库模式)。

问题是:如何为通过 Custom-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 作为类型它工作正常。所以问题似乎是我的 typedef 在我的 sql 查询中不能正常工作。在我的类里面,它运行良好。 (注意上面显示的 hibernate 映射中的 typedef 行)

我必须使用的 Hibernate 版本:3.2.7.ga

最佳答案

如我的编辑所述:

<return-scalar column="alpha" type="com.package.MyUserType"/>

工作正常。由于某种原因,typedef 定义不起作用。我没有为我的 hibernate 版本找到任何类似的错误报告。

关于java - Hibernate-NamedSqlQuery UserType 作为 ReturnType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14704875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com