2014-07-24 96 views
0

我們通過Glassfish服務器託管的dataSource使用JTA,但是我們爲每個客戶端都有一個單獨的數據庫,如何根據用戶登錄動態選擇數據庫。 如果我在「persistance.xml」中設置事務類型「local」並在通過屬性映射創建實體管理器之前定義屬性,那麼它可以正常工作,但是如果我使用事務類型「JTA」定義屬性,那麼忽略通過屬性映射設置的屬性。動態數據庫選擇(使用Glassfish管理的JTA服務器的EJB 3.0)

Map props = new HashMap(); 

    props.put("javax.persistence.jdbc.url", "jdbc:mysql://192.168.1.18:3306/af_db"); 
    EntityManagerFactory emf = ersistence.createEntityManagerFactory 
     ("XXXJPA", props); 
    em =emf.createEntityManager();   

回答

0

使用JTA不能使用EntityManagerFactory。因此,您必須爲每個用戶創建單獨的EntityManager並將其選擇爲dinamicaly。

相關問題