主キーに次の注釈を持つエンティティクラスがあります:@GeneratedValue(strategy = GenerationType.AUTO)
。私はpersist
に、このクラスのインスタンスをしようとすると、しかし、私はOpenJPA 1 - シーケンステーブルが作成されていません
ます。com.microsoft.sqlserver.jdbc.SQLServerException取得:無効なオブジェクト名「OPENJPA_SEQUENCE_TABLE」。
テーブルcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)でデータベースに存在しない間違いを探しています。ユーザーがデータベースに接続しているので、テーブルを作成できます。自動的にOPENJPA_SEQUENCE_TABLEを作成する必要がありますか、それともそれを行う必要がありますか?もしそうなら、期待しているテーブルスキーマは何ですか?私はopenjpa-1.2.2.jarを使用しています。
編集:私はそれがコマンドラインでシーケンステーブルを追加するオプションを持っているのでmain()
's JavaDocに見えたが、OpenJPAの-1.2.2.jarがでorg.apache.openjpa.jdbc.schema.TableJDBCSequence
存在しません。 org.apache.openjpa.jdbc.schema
はありますが、TableJDBCSequence
は含まれていません。
無効なOracle DDLです。 OracleはTINYINTまたはBIGINTをサポートしておらず、NUMBERのみをサポートしています。 CREATE TABLE openjpa_sequence_table(ID NUMBER(4)NOT NULL、SEQUENCE_VALUE NUMBER(20)デフォルトNULL、PRIMARY KEY(ID)); –