在数据类型为“NUMBER”的Oracle视图中对列进行逆向工程时,*.hbm.xml
中的结果列为big_decimal
precision="0"
。
我也使用Derby的这些映射文件进行验收测试,但是来自Derby docs:
精度必须介于1到31之间。
我无法控制视图的定义。我通读reverse engineering docs并且看不到控制精度的方法。
如何指示hibernate给我一个有效的(德比)精度?
答案 0 :(得分:0)
你应该根据你的需要(精度,比例)和设置输出类型(hibernate-type)修改 hibernate.reveng.xml ,然后生成classess和映射文件。
<hibernate-reverse-engineering>
<type-mapping>
<sql-type jdbc-type="NUMERIC" precision="1" scale="0" hibernate-type="boolean"/>
<sql-type jdbc-type="NUMERIC" precision="22" scale="0" hibernate-type="long"/>
<sql-type jdbc-type="OTHER" hibernate-type="..."/>
</type-mapping>
....