この問題を理解するのに数日を費やしましたが、解決策は思いつきませんでした。同様の問題が発生している投稿は次のとおりです: 類似投稿 1、類似投稿 2、類似投稿 3。そこで部分的な解決策をいくつか試しましたが、問題は解決しませんでした。
問題
Google Web アプリケーションを開発しており、永続層に Hibernate を使用して Postgresql データベースに接続しています。GWT Eclipse プラグインに付属する組み込みの Jetty サーバーを使用して、開発モードで実行します。この投稿から、Jetty サーバーの構成に関していくつかの助けを受け取りました。
Hibernate Tools を使用して、以下をリバース エンジニアリングおよびエクスポートしました。
- ドメイン コード (.java)
- Hibernate XML マッピング (.hbm.xml)
- DAO コード (.java)
- 休止状態の XML 構成
これらはすべて src フォルダーにエクスポートされており、構成が少なくともスキーマ情報をプルできることを Hibernate Tool を使用して確認しました。
問題は、Jetty サーバーの実行開始後に発生します。アプリケーションに関連付けられたサイトにアクセスするとすぐに、Eclipse のデバッグ コンソールに次のエラーが報告されます。
com.site.application.<reverse engineered DAO> getSessionFactory
SEVERE: Could not locate SessionFactory in JNDI
javax.naming.NameNotFoundException; remaining name 'SessionFactory'
at org.mortbay.naming.NamingContext.lookup(NamingContext.java:578)
at org.mortbay.naming.NamingContext.lookup(NamingContext.java:680)
at org.mortbay.naming.local.localContextRoot.lookup(localContextRoot.java:164)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at com.site.application.<reverse engineered DAO>.getSessionFactory(<reverse engineered DAO>.java:31)
で終わる:
[ERROR] 500 - POST <application path> (127.0.0.1) xxxx bytes
詳細が必要な場合はお知らせください。ページにデバッグ情報を氾濫させたくありませんでした。
環境
- Ubuntu 12.04 LTS
- Eclipse Juno 4.2 ビルド ID: 20120614-1722
- GWT SDK 2.4.0
- 休止状態 4.0
- Postgresql 9.1