我尝试通过添加
在组件中使用扩展PersistenceContext
@PersistenceContext(type=PersistenceContextType.EXTENDED)
EntityManager entityManager;
为了使用这个Seam,我强迫我将组件作为有状态会话Bean(SFSB)进行delcare。为了满足要求,我必须为SFSB的方法创建一个接口,即使EntityHome<E>
和Home<E>
中声明的方法是正确的(Seam)方式吗?
答案 0 :(得分:2)
从Seam的角度来看,可以使用扩展的PersistenceContext
。您还可以阅读这两个参考文献,了解使用它的优缺点:When do I use @In vs @PersistenceContext to inject an EntityManager?和
EntityManager injection: @PersistenceContext or @In ??。
由于Home<E>
是会话范围,我会尝试从该范围中受益以获得扩展的持久性上下文。虽然使用扩展的PersistenceContext
很好,但会话范围肯定更像是“Seam-way”。但是,由于我不知道你想要完成什么,因此会话范围可能不合适......