2014-09-24 129 views
0

我的eclipselink在JPA和Weblogic的每个版本中都有问题。它似乎是一个未解决的错误。Eclipselink和JPA错误,未知实体类型

我使用的配置是开普勒,Weblogic 10.3.5和Eclipselink 2.1。

它抛出的错误是:

java.lang.IllegalArgumentException: Object: <object> is not a known entity type. 

我已经在persistence.xml文件中声明的所有类型。每次重新部署应用程序时都会发生错误。现在,我发现唯一的解决方法是重新启动服务器。然后它工作正常。

这个bug似乎已经存在很长时间了。

我发现这个线程使用相同的情况下:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=326552

任何想法,可能无法重新启动服务器的工作分开?

谢谢。

回答

0

你是如何创建你的EntityManagerFactorys的?您必须在完成后关闭它们以维护其生命周期。该错误中描述的问题是由于没有关闭工厂,这些工厂静态地保留并在应用程序重新部署时重新使用。旧的EMF将使用旧的类加载器,因此不适用于从重新部署的应用程序加载的实体。

解决它的唯一方法是在重新部署之前关闭旧的EntityManagerFactory。或者在重新部署之前取消部署并等待垃圾收集来关闭它们。