2014-09-24 133 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。或者在重新部署之前取消部署並等待垃圾收集來關閉它們。