gpt4 book ai didi

hibernate - 具有 BigDecimal 而不是 Long 的实体类 - 生成的 Hibernate 工具

转载 作者:行者123 更新时间:2023-12-04 02:49:55 31 4
gpt4 key购买 nike

BigDecimal 而非 Long 的实体类

我的实体类是使用 Hibernate 工具生成的。不幸的是,一些“长”值变成了“BigDecimal”数字(列:AGE、BIRTHDATE),但不是全部(列: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 Tools生成实体类(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;

谢谢!

最佳答案

Hibernate 工具可以配置为自定义类型映射。在 reveng.xml 中指定所有映射(参见屏幕截图)。将任何 JDBC 类型转换为任何 Hibernate 类型并再次运行您的生成器。

reveng.xml 映射配置:

reveng.xml mapping configuration

在您的生成器中使用此 reveng.xml:

use this reveng.xml in your generator

关于hibernate - 具有 BigDecimal 而不是 Long 的实体类 - 生成的 Hibernate 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17992108/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com