# Hibernate+JPA Exception in persistence.xml



## BeRseRkeR (8. Apr 2010)

will per Hibernate und JPA auf eine DB zugreifen, hab jetzt mehrere Bücher/Internet gewälzt aber kriege leider immernoch dieselbe Exception :/

Exception in thread "main" javax.persistence.PersistenceException: Invalid persistence.xml.
Error parsing XML (line-1 : column -1): cvc-elt.1: Cannot find the declaration of element 'persistence'.

	at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:145)
	at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:168)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:310)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	at Test.main(Test.java:8)


persistence.xml sieht folgendermaßen aus:

```
<?xml version="1.0" encoding="ISO-8859-1"?>
<persistence> 
<persistence-unit name="masterclass" transaction-type="RESOURCE_LOCAL">
	<provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>Leute2</class>
      	<properties>
         <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
         <property name="hibernate.connection.url" value="jdbc:postgresql://adresse"/>
         <property name="hibernate.connection.username" value="name"/>
         <property name="hibernate.connection.password" value="pw"/>
         <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
         <property name="hibernate.show_sql" value="true"/>
        </properties>
    </persistence-unit>
</persistence>
```


----------



## SlaterB (8. Apr 2010)

Google
->
Cannot find the declaration of element 'persistence' | Your Java and Linux Experts!


----------



## BeRseRkeR (8. Apr 2010)

danke, jetzt komm ich schonmal stück weiter, in den beispielen die ich hatte stand da immer nur <persistence>
kriege aber leider die nächste exception:

Exception in thread "main" java.lang.NoSuchFieldError: NONE
	at org.hibernate.ejb.QueryImpl.<init>(QueryImpl.java:599)
	at org.hibernate.ejb.QueryImpl.<init>(QueryImpl.java:79)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:263)
	at Test.main(Test.java:14)


----------



## SlaterB (8. Apr 2010)

das klingt nach einer ungünstigen Zusammenstellung von Jars, 
QueryImpl greift auf eine andere Klasse zu die so aktuell nicht vorhanden ist,

siehe etwa ähnliches Problem
[#HHH-356] Got java.lang.NoSuchFieldError when executing HQL - Hibernate JIRA

versuche in Anleitungen die Liste der benötigten Jars zu finden bzw. schaue dir an was da ist und davon jeweils die neueste Version suchen,
oder versuche einen kompletten stimmigen Download zu finden

im ärgerlichsten Fall machen neuere Versionen Probleme weil etwas entfernt wurde, dann muss man ältere Versionen verwenden,
versuche auch an den Quellcode von Hibernate zu gelangen und schaue nach, welche Klasse in Zeile 599 verwendet wird, sonst weiß man gar nicht, um welche Jar es geht


----------



## BeRseRkeR (8. Apr 2010)

na großartig, warum kann nichtmal was einfach funktionieren -.-


----------



## BeRseRkeR (8. Apr 2010)

juhu es geht!
trial&error ftw 

falls es jemanden interessiert, folgende jars sind jetzt drin:

antlr-2.7.6.jar
cglib-2.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
ehcache-1.5.0.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-entitymanager.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
log4j-1.2.15.jar
slf4j-api-1.5.11.jar
slf4j-log4j12-1.5.11.jar
slf4j-api-1.5.11.jar
postgresql-8.4-701.jdbc4.jar


lag glaube ich an der ejb3-persistence.jar

danke SlaterB


----------

