而不是将数据库操作分散在四个(osgi)包中,所有操作都在这里稍有不同。我想创建一个负责所有持久性问题的(简单)OSGi捆绑包。我觉得这并不像听起来那么简单,因为“每捆都有唯一的类加载器”。因此,如果有人知道这种问题的解决方案,我将非常感激。
(如果您正在使用hibernate注释)
在通知Hibernate捆绑包有关注释类的信息后,保存所有Entities类加载器。
然后在构建SessionFactory之前执行类似的操作。
ClassLoad cl = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader(yourClassLoader); factory = cfg.buildSessionFactory(); }finally { Thread.currentThread().setContextClassLoader(cl); // restore the original class loader }