小编典典

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

hibernate

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

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


阅读 328

收藏
2020-06-20

共1个答案

小编典典

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

2020-06-20