私のプロジェクトには、ejb-module1 と ejb-module2 の 2 つの ejb-module があります。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-module1 のエンティティ マネージャーを使用する必要がある他の ejb があります。
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