Java 突然,JPA忽略了Oracle序列值
几周后,我的应用程序出现了一种奇怪的行为。当我尝试执行插入时,序列值始终为零,但数据库给了我正确的值。顺序如下:Java 突然,JPA忽略了Oracle序列值,java,oracle,jpa,sequence,Java,Oracle,Jpa,Sequence,几周后,我的应用程序出现了一种奇怪的行为。当我尝试执行插入时,序列值始终为零,但数据库给了我正确的值。顺序如下: CREATE SEQUENCE SEQ_ID_PERSONA_AUTOMATICKEY INCREMENT BY 1 START WITH 1 MAXVALUE 999 MINVALUE 1 NOCYCLE; 实体具有必要的注释,正如我所说,它工作得非常完美 @Id @SequenceGenerator(name = "MY_SEQUENCE", sequenceName = "S
CREATE SEQUENCE SEQ_ID_PERSONA_AUTOMATICKEY
INCREMENT BY 1
START WITH 1
MAXVALUE 999
MINVALUE 1
NOCYCLE;
实体具有必要的注释,正如我所说,它工作得非常完美
@Id
@SequenceGenerator(name = "MY_SEQUENCE", sequenceName = "SEQ_ID_PERSONA_AUTOMATICKEY", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQUENCE")
@Column(name = "ID_PERSONA")
private Long idPersona;
insert方法没有什么特别的,只有em.persistpersona
我不知道该怎么办。我试图重新编译项目并重新部署它,但它总是给我零。有什么建议吗?谢谢
使用Oracle Database 11g Express、Oracle Weblogic 12c、Java EE 6,您的序列定义显示MAXVALUE为999,并且存在此NOCYCLE,这意味着在达到最大值时不会重置。也许你刚刚达到这个最大值?您可以使用此答案的帮助进行检查,我想否,当前值为23。