正在使用的数据库是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
答案 0 :(得分:1)
使用Oracle数据库时,需要手动创建序列。 在数据库连接中使用以下代码:
create sequence YOUR_SEQUENCE_TABLE_NAME start with YOUR_START_VALUE;
答案 1 :(得分:0)
请检查您使用的用户是否具有读/写权限
答案 2 :(得分:0)
检查读/写权限,并检查数据库中的日志并验证序列是否已执行