当前位置: 首页 > 面试题库 >

休眠返回BigDecimal数据类型,而不是long

萧永长
2023-03-14
问题内容

hibernate命名查询为数据类型为NUMBER的列返回BigDecimal。

select col1 as "col1" from table1 union select col2 as "col1" from table2

在客户端,我希望col1的数据类型很长(原始),我这样做:

<return-scalar column="col1" type="java.lang.Long" />

要么

<return-scalar column="col1" type="long" />

在两种情况下,我得到:

java.lang.ClassCastException: java.math.BigDecimal incompatible with java.lang.Long

我怎样才能解决这个问题?我怀疑,混叠有问题吗?


问题答案:

默认情况下,Oracle NUMBER映射到Hibernate中的BigDecimal。尝试将类型设置为BigDecimal。



 类似资料:
  • 问题内容: 我有课程树: 我有这样的HQL查询: 此查询返回。 是否可以将返回的数据强制转换为以下类: 那么Hibernate可以进行铸造吗?还是我需要手动进行所有铸造? 问题答案: JPA查询中有不同类型的选择。 您当前正在使用Array作为返回类型,您需要的是Construct返回类型。 这是实现此目的的方法: 基本上有两件事: 自定义类必须是您的结果返回类型 自定义类必须具有一个构造函数,该

  • 我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 0.5,则团队 1 应获胜。当团队 1 获胜时,它会正确显示为尼克斯,但当团队 2 获胜时,它会显示内存地址。我怎么能让它正确地说网是赢的,而不是team@78987neu73

  • 问题内容: 我正在使用Hibernate Criteria尝试实现分页,但是问题是,对于每个页面提取,我必须进行两个数据库调用,一个用于结果,另一个用于总记录数。有什么有效的方法,以便在一个数据库调用中我既可以获取数据,又可以减少数据库调用。 问题答案: 是的,您需要单独的查询来获取总结果计数。 要么 更新资料 现在,您可以对分页和结果计数使用相同的条件

  • 我写了自己的类加载器,它与类一起工作,实现了接口插件。但是我不能将类转换为插件。怎么了? 错误:(18,47)java:不兼容的类型:java。lang.类无法转换为插件 我补充说,这是我的SimpleClassLoader类的主要部分,它扩展了ClassLoader。

  • 我正在使用Reverfit 2.0从返回json文本的web服务读取数据,但在下面的代码中响应是LinkedTreeMap,我无法将其转换为json: 现在我从站点读取数据: 形成的url为json响应为

  • 问题内容: 我知道休眠最近在3.6中重做了它的类型系统。我认为这现在允许您将Java类与类型(或UserType)相关联。例如,我使用joda- time并具有几个UserType,它们将LocalDate和LocalDateTime映射到适当的SQL类型。 当使用对象时,这很好用,但是如果我想传递一个joda类型作为HQL参数,hibernate会感到困惑,所以我必须记住每次打电话时都要提供Ty