JBoss AS 7.1.1 を搭載した EJB 3.0 クライアントとサーバーを使用しています。接続しているデータベースにエンティティのリストを永続化しようとしていますが、次のエラーが発生し続けます。
java.sql.SQLException: ORA-06576: not a valid function or procedure name
SEQ_ID
Oracle データベースで呼び出されるシーケンス ジェネレーターがあります。このチュートリアルに従ってセットアップしました: http://www.developerscrappad.com/408/java/java-ee/ejb3-jpa-3-ways-of-generating-primary-key-through-generatedvalue/
上記のチュートリアルの注釈を主キーで使用するエンティティBeanは次のとおりです。
エンティティのリストを保持する関数は次のとおりです。
public void persistSchemas(List schemasList){
String strDelete = " DELETE FROM Schemas s ";
Query query = em.createQuery(strDelete);
query.executeUpdate();
for(Schemas schema : (List<Schemas>)schemasList){
em.persist(schema);
}
}
サーバー上のエラーの完全なスタック トレースは次のとおりです: http://pastebin.com/rmURYdRD
エラーは、エンティティを永続化しようとしたときにのみ表示され、エンティティには @SequenceGenerator と @GeneratedValue の 2 つの注釈があります。だから、それは間違いなくシーケンスで起こっていることです. ここで何が問題なのですか?