如何接收 EntityManager 的持久单元名称?
在 Java EE 应用程序中,我在 EJB3.0 SessionBean 上使用 @PersistenceContext 来自动装配 EntityManager。
由于我使用多个数据源,我想以编程方式确定 EntityManager 的自动装配 PersistenceUnit 名称。有机会吗?
In a Java EE application I am using @PersistenceContext on an EJB3.0 SessionBean to let an EntityManager be autowired.
As I am using multiple Datasources, I want to programmatically determine the autowired PersistenceUnit name of the EntityManager. Any chance?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过这种方式检索多个实体管理器:
但我不知道是否是一个好的解决方案。注解@PersistenceContext 允许仅检索一个实体管理器。但是您可以尝试创建一个类/无状态 bean,它将保留多个 PU,并从他那里获取您需要的 PU。也许这比使用 EntityManagerFactory 好一点。
You can retrieve more than one entity manager in this way:
But I do not know if a good solution. Annotation @PersistenceContext allows retrieve only one entity manager. But you may try create one class/stateless bean which will keep more than one PU, and take from him PU which you need. Maybe this little better than use EntityManagerFactory.