Caused by: java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度如何解决

Caused by: java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度
遇到这个问题时,从以下几点找原因
1.检查列所对应的实体的类型是否写错。
2.由于我用Oracle,主键是自增长,检查自增长的配置。若是用注解写的。看看有木有写错。

@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "generator")    
    @SequenceGenerator(name = "generator",sequenceName="SEQ_USER")

    public Integer getId() {
        return this.id;
    }

以上没有问题。
3.检查数据库自增长的设置。
Caused by: java.sql.BatchUpdateException: ORA-01438: 值大于为此列指定的允许精度如何解决_第1张图片
注意到id是number(4),之前从1000开始,改小一点就好了。

你可能感兴趣的:(struts2)