![](/img/trans.png)
[英]spring data jpa unable to create primary key getting this error SQL Error: 2289, SQLState: 42000 ORA-02289: sequence does not exist
[英]ORA-02289: sequence does not exist - when using Spring Data JPA with Spring boot
使用的数据库是 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 开发人员执行时,相同的查询返回正确的值。
自动生成配置如下:
@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
请检查您使用的用户是否具有读/写权限
检查读/写权限,并检查数据库中的日志并验证序列是否已执行
使用Oracle数据库时,需要手动创建序列。 在数据库连接中使用此代码:
create sequence YOUR_SEQUENCE_TABLE_NAME start with YOUR_START_VALUE;
即使已明确包含模式,前缀为序列名称修复问题
@SequenceGenerator(schema = "schemaname", sequenceName = "schemaname.sequencename")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.