ORA-02289:序列不存在 - 使用Spring Data JPA和Spring启动时

时间:2017-05-31 11:45:44

标签: java spring hibernate spring-boot spring-data-jpa

正在使用的数据库是Oracle 11g

 Hibernate: select schemaname.col_sqe.nextval from dual
17:06:58.603 [WARN ] -org.hibernate.engine.jdbc.spi.SqlExceptionHelper:SQL Error: 2289, SQLState: 42000
17:06:58.618 [ERROR] -org.hibernate.engine.jdbc.spi.SqlExceptionHelper:ORA-02289: sequence does not exist

序列存在于数据库中的指定模式中,同一查询在通过sql developer执行时返回正确的值。

自动生成配置如下:

@Id
    @SequenceGenerator(name = "COL_GEN", sequenceName = "COL_SQE",schema="SCHEMANAME")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "COL_GEN")
    @Column(name = "COL_ID")

Spring JPA配置如下:

spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.use-new-id-generator-mappings=true
spring.jpa.show-sql=true

3 个答案:

答案 0 :(得分:1)

使用Oracle数据库时,需要手动创建序列。 在数据库连接中使用以下代码:

create sequence YOUR_SEQUENCE_TABLE_NAME start with YOUR_START_VALUE;

答案 1 :(得分:0)

请检查您使用的用户是否具有读/写权限

答案 2 :(得分:0)

检查读/写权限,并检查数据库中的日志并验证序列是否已执行