2014-07-24 89 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。

相关问题