3

我有以下映射

@Entity
@SequenceGenerator(name="sacpSequenceGenerator", sequenceName="SACP_SEQ")
public class Sacp {

    private Integer id;


    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sacpSequenceGenerator")
    public Integer getId() {
        return this.id;
    }

    // other setter's and getter's
}

SACP 表映射根据

ID NUT NULL NUMBER(4) 

当我尝试保存 Sacp 实例时,Hibernate 抱怨

ORA-01438: 大于指定精度的值允许此列

即使使用 Long 而不是 Integer,也会引发相同的错误

我应该怎么做才能解决它?

4

1 回答 1

2

我找到了这个

SEQ_GEN 使用名为 my_sequence 的序列定义序列生成器。此基于序列的 hilo 算法使用的分配大小为 20。请注意,此版本的 Hibernate Annotations 不处理序列生成器中的 initialValue。默认分配大小是 50,所以如果你想使用一个序列并且每次都取值,你必须将分配大小设置为 1。

现在它工作正常

于 2009-11-13T15:02:01.197 回答