当使用EntityManager
时,最好是在PersistenceContext
之间获得一个实例并在我的程序中传递它,或者是否应该多次使用依赖注入?EntityManager初始化最佳实践
在我的应用程序中,每个客户端都将与有状态会话bean进行通信,并且每个bean在某个时刻需要使用EntityManager
。 我想bean方法是同时调用的(但我甚至不确定)。 如何保证我以线程安全的方式使用EntityManager
?通过交易?在每个bean中有一个单独的实例?
对不起,如果这是令人困惑的,我是新来的EJB/JPA,我找不到任何材料解决我的问题。
感谢您的回答。所以我的有状态bean应该有一个'EntityManager'属性,并通过参数传递给任何其他访问数据库的对象? – 2009-12-28 19:24:32
是的,如果需要的话。但是,在使用EJB时,最好只从会话bean本身(无状态或有状态)访问EntityManager API;那么你永远不需要传递EntityManager实例。当然,其他类型的托管bean(如MDB)也可以做同样的事情。 – 2009-12-29 02:15:13