使用 EclipseLink (2.0.2)时,我在 Weblogic (10.3.3)中看到了一个奇怪的行为。
这是我的工作。我使用Maven编译一个项目,我使用 JPA (1.0.2)。在此项目中,模块“A”取决于模块“B”。 “B”包含一堆实体( javax.persistence.Entity )。但“ persistence.xml ”在“A”中,其中“B”的所有实体都已注册。 “B”部署为可选包,“A”通过其MANIFEST引用。
部署成功但是当我运行应用程序并尝试保留实体时,我在“A”中收到上述错误。
以下行动之一将解决它:
我下载了EclipseLinks的源代码并调试了应用程序。似乎问题出现是因为“ 描述符 ”集合字段在“ org.eclipse.persistence.internal.sessions.AbstractSession < / strong>“类没有实体的描述符,因此它不会将其识别为实体。
我估计重新启动缓存的服务器更新。但是第二种解决方案呢?为什么这样?在weblogic中,JAR文件的META-INF目录中的“maven”目录是什么?
答案 0 :(得分:0)
您的部署正确部署B模块听起来并不合适。
您使用的是容器管理的持久性单元还是应用程序?如果您使用的是应用程序管理的持久性单元,则必须在重新部署之前关闭EntityManagerFactory,否则将保留旧类的旧工厂。