如何在普通的java类中获取实体管理器?我尝试使用注入,但没有任何结果,我总是得到一个NullPointerException:
public class ClassName {
@PersistenceContext(unitName = "myPU")
public EntityManager em;
@Resource
UserTransaction utx;
...
然后我尝试使用提供EntityManagerFactory的单独类,但也没有成功,抛出NullPointerException:
public class HibernateUtil {
private static EntityManagerFactory entityManagerFactory = null;
static {
try {
entityManagerFactory = Persistence.createEntityManagerFactory("myPU");
} catch (Throwable e) {
e.printStackTrace();
}
}
public static EntityManagerFactory getEntityManagerFactory() {
return entityManagerFactory;
}
}
非常感谢帮助。
答案 0 :(得分:2)
public class ClassName {
@PersistenceContext(unitName = "myPU")
public EntityManager em;
@Resource
UserTransaction utx;
如果没有在Java EE-Container中运行,那么这里没有Dependency.Injection。 这些属性为null。您需要先将它们初始化(或者添加弹簧或其他DI容器)。