簡體   English   中英

如何接收 EntityManager 的持久性單元名稱?

[英]How can I receive the persistence unit name of an EntityManager?

在 Java EE 應用程序中,我在 EJB3.0 SessionBean 上使用 @PersistenceContext 來讓 EntityManager 自動裝配。

當我使用多個數據源時,我想以編程方式確定 EntityManager 的自動裝配 PersistenceUnit 名稱。 任何機會?

您可以通過這種方式檢索多個實體管理器:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("name your PU")
EntityManager em = emf.createEntityManager();
...
em.close();
emf.close();

但是不知道有沒有好的解決辦法。 注釋@PersistenceContext 只允許檢索一個實體管理器。 但是您可以嘗試創建一個類/無狀態 bean,它將保留多個 PU,並從他那里獲取您需要的 PU。 也許這比使用 EntityManagerFactory 好一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM