NetBeans 6.8 と Glassfish Enterprise Server 2.1.1 ((v2.1 Patch06)(9.1_02 Patch12)) (ビルド b31g-fcs) を使用しています。
サーブレットを作成し、Netbeans コード生成機能を使用して、TopLink (JPA1) を使用して永続性を実装しました。
次のコードで Entity Manager を作成しようとすると:
EntityManagerFactory entityManagerFactory=Persistence.createEntityManagerFactory("xyzPU");
EntityManager entityManager=entityManagerFactory.createEntityManager();
次のひどい例外を受け取ります。
例外 [TOPLINK-7106] (Oracle TopLink Essentials - 2.1 (Build b31g-fcs (10/19/2009))): oracle.toplink.essentials.exceptions.ValidationException 例外の説明: 文字列の暗号化中にエラーが発生しました。 内部例外: java.security.ProviderException: update() が失敗しました oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:240) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:138) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:132) oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91) 等...
何が起こっているのかを把握しようとして、上記の 2 行のコードを main() メソッド (コードが以前にサーブレットの外にあったものと同じパッケージ) を持つ新しいクラスに入れ、すべてが適切に機能しました。したがって、ライブラリのインポート、構成ファイルなどに問題はないはずです。さらに、別のバージョンのグラスフィッシュ (軽いバージョンだと思います) を使用してサーブレットを実行してみましたが、問題なく動作しました。
誰が私に何が起こっているのか説明できますか? Glassfish Enterprise Server Edition とサーブレット環境の設定/構成に関連するものはありますか? 私は何をすべきか?