JPA connection to H2 database

I am developing hibernation with a JPA project and am trying to get a persistence.xml working file using H2 (Embedded database).

persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0"> <persistence-unit name="DefaultPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>entity.user</class> <properties> <property name="hibernate.connection.url" value="jdbc:h2:/~test" /> --> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"></property> <property name="hibernate.connection.driver_class" value="org.h2.Driver" /> <property name="hibernate.connection.password" value="admin" /> <property name="hibernate.connection.username" value="admin" /> </properties> </persistence-unit> </persistence> 

But this does not work, I always get an error

"Unable to create EntityManagerFactory"

 EntityManagerFactory emf = Persistence.createEntityManagerFactory("DefaultPersistenceUnit"); 

. Can anyonw provide me with a working persistence.xml?

+8
hibernate jpa h2
source share
1 answer

Are you using Spring? If so, you can try this until the EntityManagerFactory is provided by the container

 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="generateDdl" value="true" /> <property name="database" value="H2" /> </bean> </property> <property name="persistenceUnitName" value="DefaultPersistenceUnit" /> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.h2.Driver" /> <property name="url" value="jdbc:h2:database/~test" /> <property name="username" value="sa" /> <property name="password" value="" /> </bean> 
+9
source share

All Articles