1

私は、1つのslsb、具体的にはslsb内の1つのメソッドを介して2つのdbにアクセスしようとしています。しかし、これは不可能ですか?ストアドプロシージャを変更する以外に、他にできることはありますか?

@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:接続を開くことができません

4

1 に答える 1

1

私は 1 つの slsb、具体的には slsb 内の 1 つのメソッドを介して 2 つのデータベースにアクセスしようとしています。しかし、これは不可能ですか?

これは間違いなく可能ですが、詳細を提供すると本当に役立ちます。

  • 異なるデータベースにアクセスしていますか?
  • 永続ユニットの構成を表示できますか?
  • データソース (XA?) をどのように構成したか教えていただけますか?
  • SLSB のメソッドにどのように注釈を付けたかを示すことができますか?

原因: org.hibernate.exception.GenericJDBCException: 接続を開けません

これは、永続化ユニットの 1 つの構成に問題があることを示唆していますが、それ以上は言えません。

于 2010-07-06T16:23:00.813 に答える