具有BigDecimal但不是Long的实体类
我的实体类充满了Hibernate工具。不幸的是,一些'long'值变为'BigDecimal'数字(Column:AGE,BIRTHDATE),但不是全部(Column:ID)!
为什么会发生这种情况,我应该如何解决这个问题?
我的Oracle数据库中的表:用户
Column - Type - Decimal Digits - Column Sizes
----------+----------+----------------+-------------
ID - NUMBER - 0 - 10
AGE - NUMBER - 0 - 38
BIRTHDATE - NUMBER - 0 - 38
FIRSTNAME - VARCHAR2 - <null> - 32
使用Hibernate工具生成实体类(POJO)
@Id
@Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0)
private long id;
@Column(name = "AGE", precision = 38, scale = 0)
private BigDecimal age;
@Column(name = "BIRTHDATE", precision = 38, scale = 0)
private BigDecimal birthdate;
@Column(name = "FIRSTNAME", length = 32)
private String firstname;
谢谢!
答案 0 :(得分:4)
可以将Hibernate工具配置为 自定义类型映射 。 在reveng.xml中指定所有映射(参见屏幕截图)。 将任何JDBC类型转换为任何Hibernate类型并再次运行您的生成器。
reveng.xml映射配置:
在您的生成器中使用此reveng.xml: