java - 我可以在 hibernate hbm 中使用 BigDecimal 作为 id 类型吗?

标签 java hibernate primary-key bigdecimal

我正在使用 hibernate 。它具有 id 列,精度为 20,如下所示,但为 NUMBER 类型。

NUMBER(38,20) - 这是表(Oracle 数据库)的 id 列的大小。

id 由我们的应用程序生成。在实体中,如果我使用 Float 或 Double,它不能容纳 20 个精度。但是 java.math.BigDecimal 可以容纳这么多精度。 但问题是我可以在 hbm 中使用 BigDecimal 吗?会有什么问题吗?有时我可能无法准确发送 ID。那个时候 hibernate 会生成任何空精度和插入吗?

<id name="someId" column="SOME_ID" type="java.math.BigDecimal"/>

请推荐!

最佳答案

您可以使用 type="big_decimal"。在任何情况下,您都不应为此尝试使用 Float 或 Double。

关于java - 我可以在 hibernate hbm 中使用 BigDecimal 作为 id 类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8253739/

相关文章:

java - 将新持久化的实体添加到关系的另一方持有的实体列表中,以维护双向关系

java - 我应该如何指定托管 bean 方法来保存定向外键上的数据?

mysql - 如何通过触发器提取插入行中的uuid作为主键

mysql - Rails 表中整数的默认大小 (MySQL)

primary-key - Hybris中PK分析仪的替代品是什么?

java - 当使用我实际不使用的静态方法扩展类时,这些方法会被编译吗?

java - 如何将 apdu 命令传递给命令 apdu 函数

java - 神经网络的 C++/Java 性能?

java - Android: Activity 等待 boolean 条件

java - 不使用数据库的实体类可以吗?