4

我得到了以下情况。我Apache Felix用作 OSGi 服务实现和Apache KarafOSGi 容器。有一个包karaf应该通过休眠将一些数据保存到数据库中,但我总是得到一个SQLException: No Suitable Driver found. 我部署mysql-connector-bundlekaraf. 在我看来,问题是休眠是否导入mysql-driver-packages应该映射的类或我的类。但我不知道如何解决这个问题。我很熟悉 eclipse rcp ,其中伙伴策略修复了此类问题,对于这个问题是否有任何最佳实践felixkaraf

4

2 回答 2

2

你用的是什么版本的休眠?只有从 Hibernate 4 开始,hibernate 才知道 OSGi 类加载器,但它仍然没有完整的 OSGi 支持。请参阅例如https://hibernate.onjira.com/browse/HHH-7527,它计划用于 Hibernate 4.2。

我们使用 Gemini JPA 和 eclipselink 作为 OSGi 中的 JPA 提供程序。

在 karaf 生态系统中,有 Aries JPA,主要与 OpenJPA 一起使用。请参阅Apache Aries 托管 JPA 支持哪些 JPA 提供程序?

于 2012-11-08T16:20:41.727 回答
2

Hibernate 无法访问来自其他包的数据和类(至少在 3.x 版中;我不知道版本 4)。只有当所有(使用休眠、pojos、映射文件、所有库的方法)都在同一个包中时,它才能轻松工作。它无法访问其他捆绑包中的资源。

另请参阅我在此线程中的回答

于 2012-11-08T17:02:28.733 回答