I am new to JPA, when I tried to run the following code, it showing error as \"cvc-elt.1: Cannot find the declaration of element \'persistence\'.\"
I suspect your environment only supports persistence 2.0. Try changing:
<persistence version="2.1" 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">
To:
<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">
The issue is a mismatch between your <persistence version="2.1"...> and your hibernate library requirements. Copy and paste the whole persistence tag with name spaces (xmlns) from a reliable sample. Then check your library version, below.
From hibernate.org: http://hibernate.org/orm/downloads/
Supported JPA Versions
JPA 1.0: ORM 3.2+ JPA 2.0: ORM 3.5+ JPA 2.1: ORM 4.3+
Note that newer ORM releases are backwards compatible with older JPA versions (ex: ORM 4.3 with JPA 1.0). However, newer ORM releases may not be compatible with older JPA containers.
The JPA version is the same as the persistence version. The ORM is the version of hibernate. So your persistence file has <persistence version="2.1" ... >
. So, as of now, you want only the hibernate library and version below (or a later version):
WEB-INF/lib/hibernate-entitymanager-4.3.0.Final.jar
or Maven pom.xml:
<!-- for JPA, use hibernate-entitymanager instead of hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.0.Final</version>
</dependency>
I spent a whole bunch of hours on this one. I hope my time spent saves yours!
you are missing the <persistence>
element in your xml... check the xsd you posted and make your persistence.xml comply to the schema. See this link for a simple example