我的项目中有 2 个 ejb-module,ejb-module1 和 ejb-module2。ejb-module1 包含实体类和持久性单元,有一个带有实体管理器的 ejb,如下所示:
@Stateful
public class ErpTools implements ErpToolsLocal {
@PersistenceContext(unitName = "erp-ejbPU")
private EntityManager em;
public EntityManager getEm() {
return em;
}
public void setEm(EntityManager em) {
this.em = em;
}
在 ejb-module2 中,我有其他 ejb 需要使用 ejb-module1 中的实体管理器,我尝试使用这个,
String ejbql = "SELECT e from CtEmpresaCliente e ORDER BY e.idCliente ASC";
Query query = this.erpTools.getEm().createQuery(ejbql);
empresaClientes = query.getResultList();
但发送此异常:
"Unable to retrieve EntityManagerFactory for unitName erp-ejbPU"
debuging in this point Query query = this.erpTools.getEm().createQuery(ejbql);
this.erpTools.getEm() is not null.
注意:使用Netbeans
, JPA
, JEE6
,EJB 3.1