Mysql OSGi和Hibernate-不适合的驱动程序

Mysql OSGi和Hibernate-不适合的驱动程序,mysql,hibernate,osgi,apache-felix,apache-karaf,Mysql,Hibernate,Osgi,Apache Felix,Apache Karaf,我得到以下情况。 我使用apachefelix作为OSGi服务实现,使用apachekaraf作为OSGi容器。 在karaf中有一个bundle,它应该通过hibernate将一些数据保存到数据库中,但我总是得到一个SQLException:找不到合适的驱动程序。 我将mysql连接器捆绑包部署到karaf。 在我看来,问题在于休眠是否导入mysql驱动程序包,也不导入应该映射的类。 但我不知道怎么解决这个问题。我熟悉EclipseRCP,其中好友策略解决了此类问题,对于felix和karaf

我得到以下情况。 我使用
apachefelix
作为OSGi服务实现,使用
apachekaraf
作为OSGi容器。 在
karaf
中有一个bundle,它应该通过hibernate将一些数据保存到数据库中,但我总是得到一个
SQLException:找不到合适的驱动程序。
我将
mysql连接器捆绑包部署到
karaf
。 在我看来,问题在于休眠是否导入
mysql驱动程序包
,也不导入应该映射的类。
但我不知道怎么解决这个问题。我熟悉EclipseRCP,其中好友策略解决了此类问题,对于
felix
karaf
,是否有解决此问题的最佳实践?

您使用的hibernate版本是什么?只有在Hibernate4之后,Hibernate才意识到OSGi类加载器,而且它仍然没有完全的OSGi支持。例如,请参见Hibernate 4.2的计划

我们将Gemini JPA与eclipselink一起用作OSGi中的JPA提供者


在karaf生态系统中,有Aries JPA,它主要与OpenJPA一起使用。请参见

Hibernate无法访问其他捆绑包中的do数据和类(至少在3.x版中是这样;我不知道版本4)。只有当所有(使用hibernate、POJO、映射文件、所有库的方法)都在同一个捆绑包中时,它才很容易工作。它无法访问其他捆绑包中的资源


另请参阅。

您确定
mysql连接器捆绑包
捆绑包已正确安装到容器中吗?是的,我使用了mysql连接器java,并将其标记为活动。您看到这些解决方案了吗?是的,但它们不适合。检查了我的hibernate cfg两次,没有错误。请附上
mysql连接器捆绑包
和与DB通信的捆绑包的清单。