Hibernate约束以避免数值超出int范围

raogr8fs  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(173)
/** The number. */
    @NotNull
    @Digits(integer = 10,fraction = 0)
    @Column(name = "numero", nullable = false)
    private Integer numero;

数据库中的字段为int4,精度为10
当我在字段中输入以下数字时:123456789222222 =〉起因:com.fasterxml.jackson.databind.JsonMappingException:数值(123456789222222)超出int范围

xlpyo6sf

xlpyo6sf1#

我认为你混淆了Hibernate写入数据库之前发生的验证和Jackson序列化对象之前应该发生的验证。
注解实体字段@Digits将告诉Hibernate在数据库写入发生之前检查该值。否则,它不会阻止您为该字段分配超出范围的值。
现在,可以将Hibernate Validator设置为也可以从HTTP操作中调用。但是你没有给出任何信息,这将有助于使用告诉你如何在你的系统中做到这一点。

相关问题