gpt4 book ai didi

java - 使用 ejb、java 持久性实体管理器的两个数据库连接

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:40 24 4
gpt4 key购买 nike

我正在尝试通过一个 slsb 访问两个数据库,特别是 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:无法打开连接

最佳答案

I am am tryign to access two dbs via one slsb, specifically one method within an slsb. However this is not possible?

这绝对是可能的,但提供更多详细信息确实会有所帮助:

  • 您正在访问不同的数据库吗?
  • 您能展示一下您的持久性单元的配置吗?
  • 您能否告诉我们您如何配置数据源(XA?)
  • 您能展示一下您是如何注释 SLSB 方法的吗?

causes : org.hibernate.exception.GenericJDBCException: Cannot open connection

这表明您的持久性单元之一存在配置问题,但无法透露更多信息。

关于java - 使用 ejb、java 持久性实体管理器的两个数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3180108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com