Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 JPA-“;无法生成实体管理器工厂“;_Java_Hibernate_Jpa_Persistence_Entitymanager - Fatal编程技术网

Java JPA-“;无法生成实体管理器工厂“;

Java JPA-“;无法生成实体管理器工厂“;,java,hibernate,jpa,persistence,entitymanager,Java,Hibernate,Jpa,Persistence,Entitymanager,我想在我的数据库中添加一个数据。我在我的项目中使用Oracle DB、Jboss eap 6.1 当我运行我的测试类时,我得到了这个异常。我怎样才能解决这个问题?请帮帮我。我很抱歉我的英语不好 Test.java package com.toyota.route; import com.toyota.route.SysadmUserEntity; import javax.persistence.EntityManager; import javax.persistence.EntityMa

我想在我的数据库中添加一个数据。我在我的项目中使用Oracle DB、Jboss eap 6.1

当我运行我的测试类时,我得到了这个异常。我怎样才能解决这个问题?请帮帮我。我很抱歉我的英语不好

Test.java

package com.toyota.route;

import com.toyota.route.SysadmUserEntity;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Test {

    public static void main(String[] args){

        EntityManagerFactory emf;
        EntityManager em;

        SysadmUserEntity user = new SysadmUserEntity();
        user.setFirstName("onur");
        user.setLastName("ozcan");
        user.setPassword("12355");
        user.setSysadmUid("1");
        user.setUsername("aonurozcan");

        //-----------------------------------

        emf = Persistence.createEntityManagerFactory("Toyota-Deneme");
        em = emf.createEntityManager();

        EntityTransaction et = em.getTransaction();

        et.begin();

        em.persist(user);

        et.commit();

        em.close();
        emf.close();

    }

}
Persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">

    <persistence-unit name="Toyota-Deneme" transaction-type="JTA">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <class>com.toyota.route.SysadmUserEntity</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:XE" />
            <property name="javax.persistence.jdbc.user" value="myUsername" />
            <property name="javax.persistence.jdbc.password" value="myPassword" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />

            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>
    </persistence-unit>
</persistence>

org.hibernate.jpa.HibernatePersistenceProvider
com.toyota.route.SysadmUserEntity
Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>toyota</groupId>
    <artifactId>com.toyota</artifactId>
    <version>1.0</version>
<dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.9.Final</version>
    </dependency>
</dependencies>

</project>

4.0.0
丰田
丰田公司
1
org.hibernate
休眠实体管理器
4.3.9.最终版本
编辑 堆栈跟踪

Nis 20, 2015 8:34:58 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
    name: Toyota-Deneme
    ...]
Nis 20, 2015 8:34:58 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.9.Final}
Nis 20, 2015 8:34:58 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Nis 20, 2015 8:34:58 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Nis 20, 2015 8:34:59 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [oracle.jdbc.OracleDriver] at URL [jdbc:oracle:thin:@localhost:1521:XE]
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=TOYOTAROUTE, password=****}
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.internal.JdbcServicesImpl configure
WARN: HHH000341: Could not obtain connection metadata : Desteklenmeyen özellik
Nis 20, 2015 8:34:59 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder useContextualLobCreation
INFO: HHH000422: Disabling contextual LOB creation as connection was null
Exception in thread "main" javax.persistence.PersistenceException: Unable to build entity manager factory
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:83)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
    at com.toyota.route.Test.main(Test.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: java.lang.NullPointerException
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:244)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:75)
    ... 8 more
NIS2012058:34:58 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
信息:HH000204:正在处理PersistenceUnitInfo[
名称:丰田Deneme
...]
NIS2011058:34:58 PM org.hibernate.Version日志版本
信息:hh000412:Hibernate核心{4.3.9.Final}
Nis 2020158:34:58 PM org.hibernate.cfg.Environment
信息:HH000206:找不到hibernate.properties
Nis 2020158:34:58 PM org.hibernate.cfg.Environment buildBytecodeProvider
信息:HH000021:字节码提供程序名称:javassist
Nis 2020158:34:59 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
信息:HCANN000001:Hibernate Commons注释{4.0.5.Final}
Nis 2020158:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
警告:HH000402:使用Hibernate内置连接池(不用于生产!)
Nis 202015年8月20日下午8:34:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
信息:HH000401:在URL[jdbc:oracle:thin:@localhost:1521:XE]处使用驱动程序[oracle.jdbc.OracleDriver]
Nis 202015年8月20日下午8:34:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
信息:HH000046:连接属性:{user=TOYOTAROUTE,password=***}
Nis 202015年8月20日下午8:34:59 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
信息:HH000006:自动提交模式:错误
Nis 2020158:34:59 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
信息:HH000115:休眠连接池大小:20(最小值=1)
Nis 2020158:34:59 PM org.hibernate.engine.jdbc.internal.jdbcservicesiml configure
警告:HH000341:无法获取连接元数据:Desteklenmeyenözellik
Nis 2020158:34:59 PM org.hibernate.engine.jdbc.internal.LobCreatorBuilder UseContexturationAllobCreation
信息:HH000422:由于连接为空,因此禁用上下文LOB创建
线程“main”javax.persistence.PersistenceException中出现异常:无法生成实体管理器工厂
位于org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:83)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:79)
位于javax.persistence.persistence.createEntityManagerFactory(persistence.java:54)
位于com.toyota.route.Test.main(Test.java:26)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)中
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:606)
位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
原因:java.lang.NullPointerException
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:244)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
位于org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425)
位于org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849)
在org.hibernate.jpa.HibernatePersistenceProvider.createEntityManager工厂(HibernatePersistenceProvider.java:75)
... 8个以上

您正在使用手动管理的持久性上下文和事务,因此需要

<persistence-unit name="Toyota-Deneme" transaction-type="RESOURCE_LOCAL">

而不是
transaction type=“JTA”


我测试了自己,错误的事务类型引发了一个模糊的NullPointerException

放置整个stacktrace,它实际上说明了为什么它不能创建一个。我添加了stacktrace。谢谢。NullPointerException信息量不大,下面没有其他错误或原因?我能想到的唯一一件事是,这应该是因为您自己管理事务,并且没有配置事务提供程序。我将事务类型JTA更改为RESOURCE_LOCAL,但仍然得到相同的异常。谢谢。确保你清理了项目,有时候IDE缓存了持久性,这经常发生在我身上。缓存的良好测试是将密码更改为错误密码以获得连接错误。交易应该是本地的,所以至少是固定的。