我正在使用IBM RAD 7(aka Eclipse 3.4)和WebSphere 7.我有一個帶有基本EJB設置的工作空間;項目TestEAR,TestEJB,TestJPA,TestWeb。爲什麼我的EAR項目不能在我的JPA項目中看到帶註釋的EJB和實體?
我可以在TestEJB項目中註釋一個ejb(「@Stateless EntityService」),它工作正常。但是如果我在TestJPA項目中放入一個ejb(「@Stateless EntityDAO」),它不會被注入到EntityService中。如果我將EntityDAO移動到TestEJB項目,它工作正常。如果我註釋一個類的實體(「@Entity MyEntity」)它不被稱爲一個實體的容器(我得到一個「不承認的實體」...「已知的實體類型:[]」錯誤)。但是,如果我添加一個my.domain.MyEntity標籤到TestEJB的persistence.xml,它工作正常。
問題:爲什麼TestEJB項目不能識別TestJPA項目中帶註釋的類?注:Eclipse 3.4中沒有「部署程序集」選項卡,但有一個「Java EE模塊相關性」選項卡(TestEAR> Properties> Java EE Module Dependencies);我查了一下,所有的項目都在列表中並被檢查(即TestEJB,TestJPA,TestWeb)。
任何幫助,非常感謝!這一個讓我真的難倒了。
感謝, 羅布
我會嘗試你所說的一切,但很快就會問,如何將EJB和JPA實體放在同一個項目中?我嘗試過,似乎沒有辦法在EJB項目上啓用JPA方面;我錯了嗎? – 2012-02-24 19:48:14
如果右鍵單擊EJB項目並轉到屬性,您將看到「Project Facets」,您應該看到JPA確保它被選中。 – 2012-02-24 20:07:19