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。