データベースがORA-02289:順序は存在しない - 春ブーツと春データJPAを使用するときに使用されて
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
Oracle 11gのあるシーケンスは、データベース内の指定されたスキーマに存在し、同じクエリが適切返しますSQLデベロッパーによって実行されたときの値。
自動生成構成は以下の通りです:
@Id
@SequenceGenerator(name = "COL_GEN", sequenceName = "COL_SQE",schema="SCHEMANAME")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "COL_GEN")
@Column(name = "COL_ID")
春JPAの構成は以下の通りである:あなたが使用しているユーザーは、読み取り/書き込み権限を持っている場合
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.use-new-id-generator-mappings=true
spring.jpa.show-sql=true
アプリケーションのDBユーザーがそのシーケンスにアクセスできないことがあります。 – Patrick
@Patrickは同じユーザーでSQLデベロッパーでコマンドを実行しています –
私はちょうど推測できます。推測1: 'spring.jpa.hibernate.use-new-id-generator-mappings = true'をtrueに設定します。しかし、あなたは新しいものを使ってはいけません。このプロパティを削除するとどうなりますか?推測2:クラスレベルであなたのエンティティにあなたのSchemanameを設定してください。推測3: 'name'と' generator'に 'sequenceName = COL_SQE'を使ってください。 – Patrick