Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在普通Java类中获取EntityManager_Java_Class_Entitymanager - Fatal编程技术网

在普通Java类中获取EntityManager

在普通Java类中获取EntityManager,java,class,entitymanager,Java,Class,Entitymanager,如何在普通java类中获得实体管理器?我尝试了注入,但没有任何结果,我总是得到一个NullPointerException: public class ClassName { @PersistenceContext(unitName = "myPU") public EntityManager em; @Resource UserTransaction utx; ... 然后我用一个提供EntityManagerFactory的单独类进行了尝试,也没有成功

如何在普通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;
    }
}
谢谢你的帮助

public class ClassName {

    @PersistenceContext(unitName = "myPU")
    public EntityManager em;

    @Resource
    UserTransaction utx;
如果不是在JavaEE容器中运行,那么这里没有Dependency.Injection。
这些属性为空。您需要首先初始化它们(或者添加spring或其他DI容器)。

您不能只说“也没有成功”。
createEntityManagerFactory()有什么问题?异常?线程“main”java.lang.NullPointerExceptionSo
Persistence.createEntityManagerFactory(“myPU”)中的异常未引发任何异常?刚刚返回的
null
?容器创建
EntityManager
,并执行注入。如果您不是在容器中运行,那么没有任何东西可以创建
EntityManager
s或进行注入,所以您需要自己完成。我明白了。我尝试将其作为运行在JBoss上的HttpServlet。调用时,它会按计划设置EntityManager和UserTransaction。谢谢你的提示!