2017-05-31 10 views
0

データベースが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 
+0

アプリケーションのDBユーザーがそのシーケンスにアクセスできないことがあります。 – Patrick

+0

@Patrickは同じユーザーでSQLデベロッパーでコマンドを実行しています –

+0

私はちょうど推測できます。推測1: 'spring.jpa.hibernate.use-new-id-generator-mappings = true'をtrueに設定します。しかし、あなたは新しいものを使ってはいけません。このプロパティを削除するとどうなりますか?推測2:クラスレベルであなたのエンティティにあなたのSchemanameを設定してください。推測3: 'name'と' generator'に 'sequenceName = COL_SQE'を使ってください。 – Patrick

答えて

0

は親切にチェック

0

読み取り/書き込み特権をチェックし、データベースからログをチェックし、シーケンスが実行されたかどうかを確認してください

関連する問題