コードはこちら: http://github.com/knownasilya/Ambience
私は永続性をテストしており、管理者クラスでは、アノテーションindex.xhtml
を使用して EntityManager をインスタンス化しています。@PersistenceContext
この例を実行するたびに、 で NPE が得られem.persist(another);
ます。
persistence.xml
Eclipse のローカル db 構成と同じ接続情報を使用してセットアップを行いました。エラーがどこにあるかを調べるにはどうすればよいですか?
編集ここに関連ファイルがあります。
Index.xhtml https://github.com/knownasilya/Ambience/blob/master/g5.ambience/WebContent/index.xhtml
persistence.xml https://github.com/knownasilya/Ambience/blob/master/g5.ambience/src/META-INF/persistence.xml
EDIT2 UserDAO を作成しましたが、特に 24 行目で EntityManager を作成しようとすると、まだ NPE が発生します
EntityManager em = emf.createEntityManager();
このエラーでCaused by: java.lang.NullPointerException
at g5.ambience.user.UserDAO.<init>(UserDAO.java:24)
UserDAO.java https://github.com/knownasilya/Ambience/blob/master/g5.ambience/src/g5/ambience/user/UserDAO.java
EDIT3抽象化/カプセル化の 3 つのレイヤーができました。モデル (永続化のためのゲッター/セッター)、ビジネス ロジック、およびビュー ロジック。
ここにエンティティ ファクトリがあります: http://bit.ly/HV4d11で、これはアプリケーション スコープのマネージド Bean です。次に、ManagedUserBean http://bit.ly/In19rXを使用します。これは、UserView http://bit.ly/In1ta6 (セッション スコープ)getUserByUsername
を介してメソッドを呼び出すと、まだ NPE を提供します。それでもうまくいきません。エラーは EntityManager の作成にあります。これが私の stackTrace です: http://pastie.org/3814236