0
我有一個處理多個EntityManager的應用程序,我想用它的entityManager映射每個實體。我如何映射這些實體?使用EntityManager映射實體
需要考慮的一點:我有一個EntityManagerFactory,並且在該工廠創建了許多EntityManagers。然後,我爲每個用戶創建一個新的EntityManager登錄。我需要的是標識與每個EntityManager相關的實體。
我有一個處理多個EntityManager的應用程序,我想用它的entityManager映射每個實體。我如何映射這些實體?使用EntityManager映射實體
需要考慮的一點:我有一個EntityManagerFactory,並且在該工廠創建了許多EntityManagers。然後,我爲每個用戶創建一個新的EntityManager登錄。我需要的是標識與每個EntityManager相關的實體。
在最簡單的情況下,如果類是正確annonated它看起來是這樣的:
<persistence-unit name="EntityManager1" transaction-type="...">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>org.somepackage.ClassOne</class>
<class>org.somepackage.CassTwo</class>
</persistence-unit>
<persistence-unit name="EntityManager2" transaction-type="...">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>org.somepackage.ClassThree</class>
<class>org.somepackage.CassFour</class>
</persistence-unit>
但是,如果你想同一個類映射到指向不同databses,並且具有不同的表二EntityManagers /列名稱,然後註釋不會幫助。如果這是您將不得不使用xml映射至少一個表的類(並且可能希望使用註釋映射其他表)。 xml映射覆蓋註釋。
我們有類似的情況,我們必須將相同的實體映射到兩個不同的模式。我們使用兩個xmls將同一個實體映射到兩個不同的表,而不是映射到具有註釋的實體和其他具有xml的實體,以避免任何混淆和/或含糊不清。
對不起,如果我想念你帶我的問題。我有一個EntityManagerFactory和該工廠創建了許多EntityManagers。然後,我創建一個新的EntityManager每個用戶登錄。我需要的是確定與每個EntityManager相關的實體 – 2011-04-28 16:45:07
您不需要創建EntityManager每個用戶登錄到您的系統然後跟蹤實體管理者。管理這個的最好方法是使用Spring在需要的時候在持久性類中注入EntityManager。 – kunal 2011-04-28 17:12:07