在Oracle和Spring中添加序列时出现问题



我在尝试添加新记录时遇到此错误

Hibernate:
select
STEST_PP_DATA_SEQ.nextval
from
dual
2022-04-06 12:53:03.487  WARN 23884 --- [0.1-8082-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 2289, SQLState: 42000
2022-04-06 12:53:03.510 ERROR 23884 --- [0.1-8082-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ORA-02289: sequence does not exist

我的班级

@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "TEST_PP_DATA")
@SequenceGenerator(name = "STEST_PP_DATA_SEQ", sequenceName = "STEST_PP_DATA_SEQ", initialValue = 1, allocationSize = 1)
public class TestPPData extends AuditableEntity{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "STEST_PP_DATA_SEQ")
@Column(name = "ID", nullable = false)

这就是我如何将序列添加到我的DB

CREATE SEQUENCE STEST_PP_DATA_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE MINVALUE 1 NOCYCLE NOCACHE NOORDER

您可能需要完全限定名称。您可以尝试以下查询来检索所有者吗:

SELECT owner, status
FROM All_Objects
WHERE object_type = 'SEQUENCE'
AND object_name = 'STEST_PP_DATA_SEQ';

然后使用序列作为:

select <OWNER>.STEST_PP_DATA_SEQ.nextval
from dual;

如果第一个查询没有返回任何内容,或者状态与VALID不同,那么在创建序列时就会出现问题。

最新更新