![](/img/trans.png)
[英]I receive exception No Persistence provider for EntityManager in IntelliJ
[英]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.