当前位置: 首页 > 知识库问答 >
问题:

使用JPA/Hibernate将JavaBigDecimal 0.0000001保存到oracle的异常

凤安然
2023-03-14

当我试图将一个实体的值保存到一个Oracle表列中时,我看到了一个例外,该列的属性值为new BigDecimal(“0.0000001”),该列的数据类型为数字(10,7)。具有相同比例的其他值,例如新的BigDecimal(“0.0000012”)将被保存。

以下是我看到的例外

13: 56:56561警告[JDBCExceptionReporter]SQL错误:1438,SQLState:22003 13:56:56561错误[JDBCExceptionReporter]ORA-01438:值大于此列允许的指定精度

共有1个答案

曹旭东
2023-03-14

这一切都有效,可能是错误是由其他原因引起的

drop table test;

Create table test (
BigDecimal Number (10,7)
);

insert into  test values (0.0000001);
insert into  test values (0.0000012);
insert into  test values (101);
insert into  test values (102);
 类似资料:
  • 我不是JPA/Hibernate方面的专家,我真的不知道我试图实现的是不可能实现的还是我做错了,既然我预计是后者,这里就什么也不做了。 我有一个map ,我正试图将其持久化到一个表中,并遵循了这里描述的示例:使用JPA存储map 但随后我得到一个HibernateException:列值的STATE_MAP中的列类型错误。找到:bigint,应为:char(255) 当我将bigint更改为cha

  • 问题内容: 我在Hibernate中有一个带有列的表 该文件中: 这是: 当我在hibernate模式下尝试时: 我有一个例外: 上面提到的所有类型。 不确定如何将转换为? 问题答案: 您需要将字段类型明确映射到。

  • 问题内容: 我在父子表之间存在一对多关系。在父对象中,我有一个 我在子表中也有一个外键。此外键是引用数据库中父行的ID。因此,在我的数据库配置中,此外键不能为NULL。同样,此外键也是父表中的主键。 所以我的问题是如何通过执行以下操作来自动保存子对象: 我尝试了上面的方法,但是我收到一个数据库错误,抱怨Child表中的外键字段不能为NULL。是否可以告诉JPA自动将此外键设置为Child对象,以便

  • 问题内容: 我正在通过Hibernate(注释)使用Postgres,但似乎已经无法处理User对象了: 如果我手动运行SQL,则必须在表名两边加上引号,因为用户似乎是postgres关键字,但是如何说服hibernate自己做呢? 提前致谢。 问题答案: 使用保留关键字时,需要转义表名。在JPA 1.0中,没有标准化的方法,而Hibernate特定的解决方案是使用反引号: 在JPA 2.0中,标

  • 我使用JPA和Hibernate作为容器管理事务的提供者(JBossAS 6.1.0.Final)。 我正在尝试实现一些细粒度的异常处理,因为我的应用程序上有一个特定的异常层次结构,所以我可以定义在任何情况下要做什么。因此,我已经研究了几个小时,发现文档很模糊,示例也有些原始,因为“为了清晰起见”总是忽略异常处理,或者是一个简单的try-catch块,用于处理异常e。 例如,采用以下代码: cat

  • 我使用的是Rails3.2.13、Ruby1.9.3和Oracle11g。在数据库中保存带有像'ñ'这样的字符的记录时,会出现以下错误: 这些是我送给甲骨文的宝石: 我该怎么办?