4

以下の状況になりました。Apache FelixOSGi サービスの実装Apache Karafとして、また OSGi コンテナーとして使用しています。karaf休止状態を介してデータベースにデータを保存する必要があるバンドルがありますが、常にSQLException: No Suitable Driver found. 展開されたmysql-connector-bundleto を取得しkarafます。問題は、私の考えでは、mysql-driver-packagesマッピングする必要があるクラスまたはクラスをインポートするかどうかにかかわらず、休止状態になることです。しかし、これを修正する方法がわかりません。私はバディポリシーがそのような問題を修正するrcpを日食することに慣れていますが、この問題のベストプラクティスはありfelixますkarafか?

4

2 に答える 2

2

Hibernate は他のバンドルの do データとクラスにアクセスできません (少なくともバージョン 3.x では、バージョン 4 については知りません)。すべて (hibernate を使用するメソッド、pojos、マッピング ファイル、すべてのライブラリ) が同じバンドルにある場合にのみ、簡単に機能します。他のバンドルのリソースにはアクセスできません。

このスレッドの私の回答も参照してください。

于 2012-11-08T17:02:28.733 に答える
2

What version of hibernate do you use? Only since Hibernate 4, hibernate is aware of OSGi classloaders, and it still doesn't have complete OSGi support. See e.g. https://hibernate.onjira.com/browse/HHH-7527, which is planned for Hibernate 4.2.

We used Gemini JPA with eclipselink instead as JPA provider in OSGi.

In the karaf eco-system, there is Aries JPA, which is primarly used with OpenJPA. See Which JPA providers are supported by Apache Aries Managed JPA?

于 2012-11-08T16:20:41.727 に答える