Hibernate逆向工程师(oracle)NUMBER为零精度big_decimal

时间:2014-04-29 08:54:08

标签: oracle hibernate reverse-engineering derby

在数据类型为“NUMBER”的Oracle视图中对列进行逆向工程时,*.hbm.xml中的结果列为big_decimal precision="0"

我也使用Derby的这些映射文件进行验收测试,但是来自Derby docs

  

精度必须介于1到31之间。

我无法控制视图的定义。我通读reverse engineering docs并且看不到控制精度的方法。

如何指示hibernate给我一个有效的(德比)精度?

1 个答案:

答案 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>
      ....