javax.die Persistenz.PersistenceException - JPA+Hibernate
Ich bin neu JPA, als ich versuchte, führen Sie den folgenden code, es zeigt Fehlermeldung wie "cvc-elt.1: Cannot find the declaration of element 'Persistenz'."
Kann ich nicht in der Lage diesen Fehler zu beheben, könnte u pls mir helfen, dieses Problem zu lösen.
Cheers
Rajesh
Persistance.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<persistence-unit name="jpa" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.optirisk.pojo.Department</class>
<class>com.optirisk.pojo.Employee</class>
<properties>
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.connection.username" value="NewsLetter1" />
<property name="hibernate.connection.password" value="optiindia2012" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/orpss_hibernate_prototype" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
</properties>
</persistence-unit>
</persistence>
Application.java
public class Application {
private static final String PERSISTENCE_UNIT_NAME = "jpa";
private static EntityManagerFactory entityManagerFactory;
public static void main(String[] args) throws Exception {
entityManagerFactory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
Department department = new Department();
department.setDeptName("IT");
entityManager.persist(department);
Employee emp1 = new Employee("Peter", "ROB", "454565");
Employee emp2 = new Employee("Mathew", "Anderson", "222");
emp1.setDepartment(department);
emp2.setDepartment(department);
entityManager.persist(emp1);
entityManager.persist(emp2);
entityManager.getTransaction().commit();
entityManager.close();
}
}
Fehler:
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:147)
at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:171)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:325)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:58)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
at com.jishraa.jpa.Application.main(Application.java:19)
InformationsquelleAutor Rajesh | 2013-11-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Problem ist ein Konflikt zwischen Ihr <persistence version="2.1"...> und der hibernate-Bibliothek Anforderungen. Kopieren und fügen Sie den gesamten Persistenz-tag mit name spaces (xmlns) aus einer zuverlässigen Stichprobe. Dann überprüfen Sie Ihre Bibliothek version, unterhalb.
Aus hibernate.org: http://hibernate.org/orm/downloads/
JPA-version ist die gleiche wie die Persistenz-version. Das ORM ist die version von hibernate. Also der Persistenz-Datei hat
<persistence version="2.1" ... >
. So, wie jetzt, willst du nur die hibernate-Bibliothek und die version unten (oder einer späteren version):oder Maven pom.xml:
Verbrachte ich eine ganze Reihe von Stunden. Ich hoffe, dass meine Zeit verbrachte spart dir!
InformationsquelleAutor David Lotts
Ich vermute, Ihr Umfeld unterstützt nur persistence 2.0. Versuchen Sie:
:
InformationsquelleAutor Glenn Lane
fehlt der
<persistence>
- element in Ihrem xml... überprüfen Sie die xsd -, die Sie geschrieben und machen Ihre persistence.xml beachten Sie das schema. Sehen dieser link für ein einfaches BeispielInformationsquelleAutor Korgen