Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can not find the declaration of element 'persistence'

Tags:

Have put the persistence.xml in the classpath of the project in eclipse because before the error was that the file was not found. Now gives this error:

Caused by: javax.persistence.PersistenceException: Invalid persistence.xml. Error parsing XML [line : -1, column : -1] : cvc-elt.1: Can not find the declaration of element 'persistence'

<persistence xmlns="http://java.sun.com/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"              xsi:schemalocation="http://java.sun.com/xml/ns/persistence                                  http://java.sun.com/xml/ns/persistence/persistence_2_1.xsd">     <persistence-unit name="default" transaction-type="RESOURCE_LOCAL">         <provider>org.hibernate.ejb.HibernatePersistence</provider>         <properties>             <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />             <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/Automoveis" />             <property name="javax.persistence.jdbc.user" value="postgres" />             <property name="javax.persistence.jdbc.password" value="1234" />             <property name="javax.persistence.jdbc.driver" value="org.postgresql.jdbc.Driver" />             <property name="hibernate.show_sql" value="true" />             <property name="hibernate.format_sql" value="true" />             <property name="hibernate.hbm2ddl.auto" value="create" />         </properties>     </persistence-unit> </persistence> 
like image 847
csf Avatar asked Dec 28 '13 19:12

csf


People also ask

Where is my persistence xml?

If you package the persistence unit as a set of classes in a WAR file, persistence. xml should be located in the WAR file's WEB-INF/classes/META-INF directory.

Is persistence xml required for JPA?

xml configuration. You can use JPA with a very short, basic configuration. You only need a persistence element as the root element and a persistence-unit element with a name attribute.

What is the persistence xml?

The persistence. xml configuration file is used to configure a given JPA Persistence Unit. The Persistence Unit defines all the metadata required to bootstrap an EntityManagerFactory , like entity mappings, data source, and transaction settings, as well as JPA provider configuration properties.

Which elements belong to persistence unit in persistence xml?

xml file. This file defines a persistence unit named OrderManagement, which uses a JTA-aware data source jdbc/MyOrderDB. The jar-file and class elements specify managed persistence classes: entity classes, embeddable classes, and mapped superclasses.


1 Answers

The problem is that you mix JPA 2.0 and JPA 2.1 notation.

Either this

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence                                  http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"   version="2.1"> 

for JPA 2.1 or this

<persistence xmlns="http://java.sun.com/xml/ns/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"> 

for JPA 2 but not a mix thereof.

See http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/index.html for details.

like image 164
Marcel Stör Avatar answered Sep 21 '22 15:09

Marcel Stör