我尝试使用扩展 PersistenceContext
在组件中添加
@PersistenceContext(type=PersistenceContextType.EXTENDED)
EntityManager entityManager;
为了使用这个Seam,我必须将该组件作为有状态 session Bean (SFSB)。为了满足要求,我必须为 SFSB 的方法创建一个接口(interface),甚至是 EntityHome<E>
中声明的方法。和Home<E>
这是正确的(Seam)方式吗?
最佳答案
从Seam的角度来看,使用扩展的PersistenceContext
是可以的。 。您还可以阅读以下两个引用资料以了解使用它的优点和缺点:When do I use @In vs @PersistenceContext to inject an EntityManager?和
EntityManager injection: @PersistenceContext or @In ?? .
自 Home<E>
是 session 范围,我会尝试从该范围中受益以获得扩展的持久性上下文。虽然,使用扩展 PersistenceContext
没关系,这绝对是“Seam-way”的对话范围。但是,由于我不知道您想要完成什么,因此对话范围可能不合适......
关于java - 将 Pojo 组件转换为 EJB3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237883/