1

Hibernate と Spring を起動して実行する際に問題が発生しています。私は、永続的なエンティティを持つ他のいくつかのプロジェクトを利用する Web サーバー プロジェクトを持っています。私が抱えている問題は、WEB-INF/libs 内の別の jar 内に格納されているエンティティ クラスの ClassNotFoundException を取得することです。

エンティティ クラスを含む各 jar に persistence.xml が必要ですか?

設定ファイルを表示する必要がある場合はお知らせください。

4

1 に答える 1

1

セットアップに応じて、おそらくこれを解決するためのさまざまな方法がいくつかありますが、通常はアイデアを感じることはありません (IMO)。

本質的な問題は、ClassLoader の分離に関するものです。jar 内のファイルが何にアクセスできるかについての規則があります。

あなたの特定のケースでは、それを解決する最も簡単な方法は、おそらくpersistence.xmlを親Webプロジェクト内に置くことです。永続化 xml を使用していない場合は、web プロジェクトから hibernate/spring をブートストラップする必要があります。

親 Web プロジェクトは、その WEB-INF/lib 内のすべてのライブラリにアクセスできる必要がありますが、libs フォルダー内の各 jar は相互にアクセスできない場合があります。

各 jar に別の persistence.xml を設定することはできますが、それらは 1 つの持続性ユニットに合成されません。必要なエンティティに応じて、異なる pu を使用する必要があります。

于 2013-02-15T19:37:15.373 に答える