java-两个嵌套的EJB Beans-仅第一个获得注入entiy管理器
作者:互联网
我有一个有状态的singelton EJB Bean.
有状态bean使用实体管理器(注入)并调用singelton bean.
singelton bean使用实体管理器(已注入).
如果我尝试从有状态bean调用singelton bean,则singelton bean没有注入实体管理器.
不能同时在两个bean中获得一个实体管理器吗?
EJB Bean
@Singleton
@LocalBean
public class AllocationPlanController implements AllocationPlanControllerRemote {
@PersistenceContext
private EntityManager em;
EJB Bean二
@Stateful
@LocalBean
public class AllocationController implements AllocationControllerRemote {
@PersistenceContext
private EntityManager em;
private Allocation allocation;
private AllocationPlan allocationPlan;
AllocationPlanController allocationPlanController = new AllocationPlanController();
解决方法:
EntityManager不会注入到AllocationPlanController中,因为您是在使用其构造函数“手动”创建AllocationPlanController实例.您应该将AllocationPlanController注入AllocationController bean中,并让容器管理其生命周期.
标签:jpa,ejb-3-0,java 来源: https://codeday.me/bug/20191201/2084078.html