在一個JSF 2.1 - Spring 3.1集成項目中。我嘗試使用eclipselink 2.3.2,Glassfish 3.1.2和Maven在我的項目上處理事務容器。在Netbeans IDE 7.2上工作。Eclipselink -Glassfish項目對象不是已知的實體類型錯誤
在服務層我通過下面的代碼注入實體管理器,並在調試它似乎確定。
@Inject
public void setEntityManager() {
EntityManagerFactory emfactory =Persistence.createEntityManagerFactory
("E_DefterManagementPU");
this.em = emfactory.createEntityManager();
但之後,我充滿命名實體EfaFunctions,並嘗試與
em.persist(EfaFunctions);
它給這個錯誤繼續存在
java.lang.IllegalArgumentException: Object: [email protected]
is not a known entity type.
但在** **的persistence.xml我有以下節點
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>EFA</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
我的實體項目位置是com.edefter.entity.EfaFunctions;而不是錯誤指定的位置。實際上,有一個答案是由Pascal in this link 寫的,但我的生成策略是none,我的實體是由netbeans生成的。需要一些專家的意見。由於提前
我刪除了
@Table(name="EFA_FUNCTIONS")
註釋從實體的頂部,但@Entity仍然停留。 該錯誤是走了,但隨後的查詢開始爲
INSERT INTO EFAFUNCTIONS
,沒有下劃線,但我需要
INSERT INTO EFA_FUNCTIONS
,becouse它的數據並沒有插入。爲什麼eclipselink給@Table註釋帶來錯誤,儘管沒有像EFAFUNCTIONS這樣的表爲什麼沒有給出任何錯誤
對不起,我已經給它一個實體作爲參數;我更新了它 – Malcolmxappa 2013-05-13 15:03:58
包含你當前的錯誤。 – James 2013-05-13 15:38:13
@James我在下面的代碼中給出了EntityManager對象而不是EfaFunctions。謝謝你的興趣我想我解決了問題 em.persist(EfaFunctions); – Malcolmxappa 2013-05-13 17:42:55