两个db连接使用ejb,java persistence entitymanager

时间:2010-07-05 14:05:56

标签: java jpa ejb-3.0 entitymanager

我尝试通过一个slsb访问两个dbs,特别是slsb中的一个方法。但这不可能吗?除了改变存储过程之外还有什么我可以做的吗?

@PersistenceContext(unitName = "DB1")
private EntityManager oneEntityManager;

@PersistenceContext(unitName = "DB2")
private EntityManager twoEntityManager;

...


    StringBuilder queryString1 = new StringBuilder("exec myProc1 ");
    Query queryOne = oneEntityManager.createNativeQuery(queryString.toString());
    List<?> resultListOne = query.getResultList();

    StringBuilder queryString2 = new StringBuilder("exec myProc2 ");
    Query queryTwo = twoEntityManager.createNativeQuery(queryString2.toString());
    List<?> resultListTwo = queryTwo.getResultList();

...

原因:org.hibernate.exception.GenericJDBCException:无法打开连接

1 个答案:

答案 0 :(得分:1)

  

我尝试通过一个slsb访问两个dbs,特别是slsb中的一个方法。但这不可能吗?

这绝对是可能的,但提供更多细节真的很有帮助:

  • 您访问的是不同的数据库吗?
  • 你能展示持久性单位的配置吗?
  • 您能告诉我们您的数据源配置方式(XA?)
  • 你能说明你如何注释SLSB的方法吗?
  

原因:org.hibernate.exception.GenericJDBCException:无法打开连接

这表明你的一个持久性单元的配置问题,但是不可能多说。