将注入的EntityManagers传递给EJB bean的帮助程序类并使用它可以吗?

将注入的EntityManagers传递给EJB bean的帮助程序类并使用它可以吗?,第1张

注入的EntityManagers传递给EJB bean的帮助程序类并使用它可以吗?

我使用了类似的模式,但是在其中创建了帮助

@PostConstruct
器,并在构造函数中将注入的实体管理器作为参数传递。每个EJB实例都有其自己的助手,然后保证了线程安全性。

我也有一个变体,即没有注入实体管理器(因为EJB并未完全使用它),所以帮助程序必须使用

InitialContext
。在这种情况下,仍然必须使用以下命令将“持久性”上下文“导入”到父EJB中
@PersistenceContext

@Stateless @PersistenceContext(name="OrderEM") public class MySessionBean implements MyInterface {   @Resource SessionContext ctx;   public void doSomething() {      EntityManager em = (EntityManager)ctx.lookup("OrderEM");      ...   } }

但是实际上注入它(即使EJB不使用它)比查找它要容易得多,尤其是对于可测试性而言。

但是回到您的主要问题,我认为注入或查找的实体管理器是一个包装,该包装转发到绑定到事务的基础活动实体管理器。

希望能帮助到你。

编辑

规范中的第3.3节和第5.6节涵盖了该主题。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5461966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存