我面临在 DAO 类中注入实体管理器的问题,我搜索了很多解决方案,但无法解决这个问题。
我有 EJB Bean 类
@Stateless(name = "MyBean", mappedName = "MyBean")
@Remote(MYRemoteBeanI.class)
public class MyBeanImpl implements MYRemoteBeanI {
@EJB
MyDAO dao; // This DAO gets injected. But entity manager inside this DAO is null
}
DAO 类
@Stateless
public class MyDAO {
//This is not injecting, it will be always null
@PersistenceContext(unitName="MyPersistenceUnit")
private EntityManager entityManager;
}
Persistence.xml 如下
<persistence-unit name="MyPersistenceUnit" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>myDataSource</jta-data-source>
<mapping-file>META-INF/orm.xml</mapping-file>
<!-- Some managed classes -->
<!-- Some properties -->
</persistence-unit>
</persistence>
请帮助我解决这个问题。我是 EJB 世界的新手!