[RESOLVIDO]Hibernate , Erro

11 respostas
C

Olá pessoal , estou comecando a estudar Hibernate e me deparei com o seguinte erro:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named livraria
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	at com.caio.jpa.models.GeraTabelas.main(GeraTabelas.java:8)

Dentro da pasta src, eu Criei o META-INF e adicionei o persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
    <persistence-unit name="livraria">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/fj21" />
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
            <property name="hibernate.connection.password" value="" />
            <property name="hibernate.connection.username" value="root" />
            <property name="hibernate.hbm2ddl.auto" value="create-drop" />
        </properties>
</persistence-unit>
</persistence>

E aqui esta a Classe com o Main

package com.caio.jpa.models;

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class GeraTabelas {
	public static void main(String[] args) {
		EntityManagerFactory factory = Persistence.createEntityManagerFactory("livraria");
	}

}

11 Respostas

luxu

coloca assim: <persistence-unit name="PersistenceStudio" transaction-type="RESOURCE_LOCAL" >

C

O erro era a falta do jar hibernate-persistence-manager , que nao vem como obrigatorio ao baixar do site…

mas agora surgiu outro erro.

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/internal/util/xml/Origin at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34) at com.caio.jpa.models.GeraTabelas.main(GeraTabelas.java:9) Caused by: java.lang.ClassNotFoundException: org.hibernate.internal.util.xml.Origin at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 4 more

luxu

está faltando algum outro jar…

C

Vou Postar a lista do meus jars, se alguem pude conferir.

luxu

num dá pra saber ao certo mas vc tem q procurar no google de onde é a classe desse trecho…org/hibernate/internal/util/xml/Origin

C

Entao, eu procurei e nao encontrei.

Hebert_Coelho

procure assim no google: “[i]jar org.hibernate.internal.util.xml.Origin[/i]”

C

Agora veio o seguinte erro.

Exception in thread “main” javax.persistence.PersistenceException: Invalid persistence.xml.
Error parsing XML (line3 : column 6): The processing instruction target matching “[xX][mM][lL]” is not allowed.

Hebert_Coelho

Faça seu persistence.xml como nesse exemplo aqui: Hibernate 3 com JPA 2.

Está faltando transaction-type=“RESOURCE_LOCAL” depois do nome do seu persistence unit. Olha no exemplo acima, vai te ajudar.

C

Segue o Meu persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.0"
    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">
 
    <persistence-unit name="fj21" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
 
        <properties>
            <property name="hibernate.show_sql" value="true" />
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://127.0.0.1:3306/fj21"/>
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
        </properties>
    </persistence-unit>
</persistence>
E o StackTrace :
24/01/2012 14:52:27 org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
24/01/2012 14:52:27 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.0.1.Final}
24/01/2012 14:52:27 org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
24/01/2012 14:52:27 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
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:169)
	at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:323)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at com.caio.GeraTabelas.main(GeraTabelas.java:9)
C

Resolvido o problema estava na Tabulacao, ao remover funcionou.

Criado 22 de janeiro de 2012
Ultima resposta 24 de jan. de 2012
Respostas 11
Participantes 3