使用oracle序列的Hibernate根本不起作用

时间:2013-12-14 20:08:40

标签: java hibernate jpa sequence

sequence:    
CREATE SEQUENCE sequence_userId
 START WITH     100001
 INCREMENT BY   1
 NOCACHE
 NOCYCLE;

实体Bean的定义如下:     import javax.persistence.GeneratedValue;     import javax.persistence.GenerationType;     import javax.persistence.Id;     import javax.persistence.SequenceGenerator;

@Column(name="user_id", length=6, unique=true)
@SequenceGenerator(name="requestId",sequenceName="sequence_userId",     allocationSize=1, initialValue=100001)
@GeneratedValue(generator="requestId",strategy=GenerationType.SEQUENCE)
private int userId;

但是当我执行程序时,插入表中的userId为'0'。 我正在使用Oracle DB 10g。 hibernate没有从Oracle中选择序列。

1 个答案:

答案 0 :(得分:0)

最后得到了一个答案,为什么它不工作.. 在JPA / Hibernate中...... GeneratedValue仅适用于@Id注释。 在这种情况下,user_id列不是主键,它在这里不起作用......