我正在使用seam 2.2.0,hibernate 3.5.0-CR-2作爲JPA提供程序,DB2作爲數據庫服務器和Websphere 7作爲應用程序服務器的maven項目。現在我面臨着以下德問題:Websphere 7 EntityManagerFactory創建問題
- 在我的EJB也被視爲Seam組件我想從EJB容器(@PersistenceContext EntityManager的私人EM)不Seam的EntityManager的使用EntityManager(@In EntityManager的私人EM )。但這是問題,我無法使用@PersistenceContext獲取EntityManager。
在服務器日誌它最高審計機關,它不能創建一個EntityManagerFactory的,並得到一個ClassCastException:
java.lang.ClassCastException:與javax.persistence.spi.PersistenceProvider org.hibernate.ejb.HibernatePersistence不兼容
在論壇上進行了大量的調試和搜索之後,我假設問題在於Websphere沒有使用Hibernate JPA提供程序。
有沒有人遇到這個問題,並有一個解決方案?我已經爲我的應用程序配置了WAS類加載器順序,以便首先使用應用程序類加載器加載類,並且我已將所有必需的jar包裝在應用程序中,如下所示:WAS InfoCenter: Features for EJB 3.0 development。如果有必要,我會發布我的persistence.xml,components.xml文件和堆棧跟蹤。
我發現這裏也討論了這個問題:
- Websphere EntityManagerFactory creation problem
- Hibernate 3.3 fail to create entity manager factory in Websphere 7.0. Please help
任何暗示將是有益的。
在此先感謝!
Mihaela
謝謝你的提示。事實上,我也在我的EAR中包含了JPA API jar。這還沒有解決我的問題(無論如何,我有另一個例外),但我必須首先審查Hibernate所需的罐子和正確的範圍。 – mihaela 2010-05-06 07:47:44
嗯,除非你描述它,否則我無法幫助解決你的問題:-)。也許upvote和更新您的問題描述,或接受並開始一個新的問題? – 2010-05-06 14:05:02
我仍然在嘗試一些場景,只有在這之後我才能回到更清晰的描述 – mihaela 2010-05-06 14:42:00