Hallo,
Ich versuche mich gerade an JPA und benutze dazu Hibernate. Ich habe mich an folgendes Tutorial gehalten: http://schuchert.wikispaces.com/JPA+Tutorial+1+-+Getting+Started
Ich habe folgende Jars in meiner Library (bin mir nicht sicher, ob das komplett ist, da ich teilweise neure Versionen benutze als im Tutorial angegeben):
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-jpa-2.0-api-1.0.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\javassist-3.15.0-GA.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\antlr-2.7.7.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\dom4j-1.6.1.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-commons-annotations-4.0.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-core-4.1.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\jboss-logging-3.1.0.GA.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\jboss-transaction-api_1.1_spec-1.0.0.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\jpa\hibernate-entitymanager-4.1.1.Final.jar
C:\libs\apache-openejb-4.0.0-beta-2\lib\log4j-1.2.16.jar
C:\libs\apache-openejb-4.0.0-beta-2\lib\javaee-api-6.0-3.jar
C:\libs\hsqldb-2.2.8\hsqldb\lib\hsqldb.jar
C:\libs\slf4j-1.6.4\slf4j-simple-1.6.4.jar
C:\libs\slf4j-1.6.4\slf4j-api-1.6.4.jar
Ich benutze Eclipse 3.7.1 mit Java SE 1.7
Beim ausführen der Test (JUnit) Klasse, wie im Tutorial beschrieben, bekomme ich folgenden Fehler:
Hier noch meine persistence.xml. Liegt auch wie sie soll in src/META-INF
[XML]<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="examplePersistenceUnit"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.connection.driver_class"
value="org.hsqldb.jdbcDriver" />
<property name="hibernate.connection.url"
value="jdbc:hsqldb:mem:mem:aname" />
<property name="hibernate.connection.username" value="sa" />
<property name="hibernate.dialect"
value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>[/XML]
Ich komme einfach nicht dahinter, wo der Fehler liegt. Würd mich freuen, wenn mir da jemand weiterhelfen könnte.
Gruß,
zomg
Ich versuche mich gerade an JPA und benutze dazu Hibernate. Ich habe mich an folgendes Tutorial gehalten: http://schuchert.wikispaces.com/JPA+Tutorial+1+-+Getting+Started
Ich habe folgende Jars in meiner Library (bin mir nicht sicher, ob das komplett ist, da ich teilweise neure Versionen benutze als im Tutorial angegeben):
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-jpa-2.0-api-1.0.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\javassist-3.15.0-GA.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\antlr-2.7.7.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\dom4j-1.6.1.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-commons-annotations-4.0.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\hibernate-core-4.1.1.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\jboss-logging-3.1.0.GA.jar
C:\libs\hibernate-release-4.1.1.Final\lib\required\jboss-transaction-api_1.1_spec-1.0.0.Final.jar
C:\libs\hibernate-release-4.1.1.Final\lib\jpa\hibernate-entitymanager-4.1.1.Final.jar
C:\libs\apache-openejb-4.0.0-beta-2\lib\log4j-1.2.16.jar
C:\libs\apache-openejb-4.0.0-beta-2\lib\javaee-api-6.0-3.jar
C:\libs\hsqldb-2.2.8\hsqldb\lib\hsqldb.jar
C:\libs\slf4j-1.6.4\slf4j-simple-1.6.4.jar
C:\libs\slf4j-1.6.4\slf4j-api-1.6.4.jar
Ich benutze Eclipse 3.7.1 mit Java SE 1.7
Beim ausführen der Test (JUnit) Klasse, wie im Tutorial beschrieben, bekomme ich folgenden Fehler:
Java:
javax.persistence.PersistenceException: [PersistenceUnit: examplePersistenceUnit] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
at entity.PersonTest.initEmfAndEm(PersonTest.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.hibernate.HibernateException: Error applying BeanValidation relational constraints
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:219)
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:126)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:304)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1740)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
... 29 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.applyRelationalConstraints(BeanValidationIntegrator.java:208)
... 34 more
Caused by: org.hibernate.HibernateException: Unable to build the default ValidatorFactory
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:524)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:119)
... 39 more
Caused by: javax.validation.ValidationException: Could not create Configuration.
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:175)
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:50)
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:521)
... 40 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:173)
... 42 more
java.lang.NullPointerException
at entity.PersonTest.cleanup(PersonTest.java:29)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Hier noch meine persistence.xml. Liegt auch wie sie soll in src/META-INF
[XML]<?xml version="1.0" encoding="UTF-8" ?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="examplePersistenceUnit"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.connection.driver_class"
value="org.hsqldb.jdbcDriver" />
<property name="hibernate.connection.url"
value="jdbc:hsqldb:mem:mem:aname" />
<property name="hibernate.connection.username" value="sa" />
<property name="hibernate.dialect"
value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="create" />
</properties>
</persistence-unit>
</persistence>[/XML]
Ich komme einfach nicht dahinter, wo der Fehler liegt. Würd mich freuen, wenn mir da jemand weiterhelfen könnte.
Gruß,
zomg