Problema com JPA

11 respostas
vjfenix

Olá

Estou criando um aplicação utilizando JPA porém esta me dando um erro que não consegui resolver. Se alguém puder me dar uma força... estou colocando o erro abaixo e também parte do meu código.

Até.

Erro **************************************************************************************** 21:56:15,875 INFO Version:15 - Hibernate Annotations 3.2.1.GA 21:56:15,906 INFO Environment:514 - Hibernate 3.2.5 21:56:15,906 INFO Environment:547 - hibernate.properties not found 21:56:15,921 INFO Environment:681 - Bytecode provider name : cglib 21:56:15,921 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling 21:56:16,062 INFO Version:15 - Hibernate EntityManager 3.3.1.GA 21:56:16,906 INFO AnnotationBinder:388 - Binding entity from annotated class: br.com.caelum.jpa.hibernate.User 21:56:16,984 INFO EntityBinder:378 - Bind entity br.com.caelum.jpa.hibernate.User on table User 21:56:17,109 INFO Version:17 - Hibernate Validator 3.0.0.GA Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.validator.ClassValidator.(Ljava/lang/Class;Ljava/util/ResourceBundle;Lorg/hibernate/validator/MessageInterpolator;Ljava/util/Map;Lorg/hibernate/reflection/ReflectionManagerV **************************************************************************************** view plaincopy to clipboardprint? persistence.xml
<?xml version="1.0" encoding="UTF-8"?>   
<persistence version="1.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_1_0.xsd">   
    <persistence-unit name="jpa-hibernate1">   
        <properties>   
            <property name="hibernate.hbm2ddl.auto" value="create"/>   
            <property name="hibernate.format...sql" value="true"/>   
               
            <property name="hibernate.dialect"       value="org.hibernate.dialect.MySQLDialect"/>   
            <property name="hibernate.coneecion.driver_class" value="com.mysql.jdbc.Driver"/>   
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost/jpa_hibernate"/>   
            <property name="hibernate.connection.username" value="root"/>   
            <property name="hibernate.connection.password" value=""/>   
        </properties>   
    </persistence-unit>   
</persistence>  
persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
	<persistence-unit name="jpa-hibernate1">
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="create"/>
			<property name="hibernate.format...sql" value="true"/>
			
			<property name="hibernate.dialect"       value="org.hibernate.dialect.MySQLDialect"/>
			<property name="hibernate.coneecion.driver_class" value="com.mysql.jdbc.Driver"/>
			<property name="hibernate.connection.url" value="jdbc:mysql://localhost/jpa_hibernate"/>
			<property name="hibernate.connection.username" value="root"/>
			<property name="hibernate.connection.password" value=""/>
		</properties>
	</persistence-unit>
</persistence>
**************************************************************************************** view plaincopy to clipboardprint? package br.com.caelum.jpa.hibernate; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;
public class GeraDatabase {   
       
    public static void main(String[] args) {   
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa-hibernate1");   
        EntityManager em = emf.createEntityManager();   
           
        em.close();   
        emf.close();   
    }   
  
}  
package br.com.caelum.jpa.hibernate;

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

public class GeraDatabase {
	
	public static void main(String[] args) {
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa-hibernate1");
		EntityManager em = emf.createEntityManager();
		
		em.close();
		emf.close();
	}

}

11 Respostas

Javabuntu

e ae blz…

cara não tenho muita experiência com JPA…mas pelo erro que postou vi o seguinte:

21:56:15,906 INFO Environment:547 - hibernate.properties not found

aqui diz q o arquivo não foi encontrado, verifique se existe este arquivo mesmo hibernate.properties, verifique o caminho… pois ele não está sendo encontrado…

21:56:15,921 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling

aqui diz que seu jdk está setado para 1.4, a JPA é uma especificação do Java 5, então não vai funcionar…
se não tiver instalado o jdk 1.5 no mínimo, então instale pois é necessário…
o mais provável é que já está instalado, e quando vc cria um projeto novo o netbeans já seta a propriedade pra 1.4 na tela onde vc criou o projeto…

faça o seguinte no netbeans:
botão direito no projeto> propriedades > na tela que abriu, lá em baixo na última linha tem o seguinte: Nível do Fonte: o seu está em 1.4, clique no dropdown e escolhe 1.5 ou 1.6 …
caso só tenha 1.4 é pq vc não tem o jdk 5, dai vc baixa e instala ok…

se depois disso ainda der erro, manda a exception que a gente tenta ajudar…

feliz natal…
flw…
Hewerton

vjfenix

Cara referente ao hibernate.properties… eu não sei onde fica esse cara…

Quanto a versão eu já estou utilizando a 1.6 (Eclipse)

Javabuntu:
e ae blz…

cara não tenho muita experiência com JPA…mas pelo erro que postou vi o seguinte:

21:56:15,906 INFO Environment:547 - hibernate.properties not found

aqui diz q o arquivo não foi encontrado, verifique se existe este arquivo mesmo hibernate.properties, verifique o caminho… pois ele não está sendo encontrado…

21:56:15,921 INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling

aqui diz que seu jdk está setado para 1.4, a JPA é uma especificação do Java 5, então não vai funcionar…
se não tiver instalado o jdk 1.5 no mínimo, então instale pois é necessário…
o mais provável é que já está instalado, e quando vc cria um projeto novo o netbeans já seta a propriedade pra 1.4 na tela onde vc criou o projeto…

faça o seguinte no netbeans:
botão direito no projeto> propriedades > na tela que abriu, lá em baixo na última linha tem o seguinte: Nível do Fonte: o seu está em 1.4, clique no dropdown e escolhe 1.5 ou 1.6 …
caso só tenha 1.4 é pq vc não tem o jdk 5, dai vc baixa e instala ok…

se depois disso ainda der erro, manda a exception que a gente tenta ajudar…

feliz natal…
flw…
Hewerton

leandros

Cara, antes de mais nada, você já verificou a ortografia do persistence.xml…

por exemplo, eu não sei se uma escrita incorretamente vai funcionar na hora da validação.
exemplo: você colocou hibernate.format…sql;

leandros

ah mais uma coisa, o hibernate properties especifica as configurações de conexão e etc…
Mas você pode configurar isso da mesma forma no persistence.xml… as properties que você coloca no persistence são as properties que vem no hibernate.properties.

vjfenix

leandros:
Cara, antes de mais nada, você já verificou a ortografia do persistence.xml…

por exemplo, eu não sei se uma escrita incorretamente vai funcionar na hora da validação.
exemplo: você colocou hibernate.format…sql;

Leandros

Eu corrigi esse erro… mas mesmo assim continua me dando o erro:

Exception in thread “main” java.lang.NoSuchMethodError: org.hibernate.validator.ClassValidator.(Ljava/lang/Class;Ljava/util/ResourceBundle;Lorg/hibernate/validator/MessageInterpolator;Ljava/util/Map;Lorg/hibernate/reflection/ReflectionManagerV

leandros

Cara eu acho que tem algum problema no seu mapeamento, você poderia posta-lo ai pra mim dar uma olhada

Pedrosa

vjfenix:
leandros:
Cara, antes de mais nada, você já verificou a ortografia do persistence.xml…

por exemplo, eu não sei se uma escrita incorretamente vai funcionar na hora da validação.
exemplo: você colocou hibernate.format…sql;

Leandros

Eu corrigi esse erro… mas mesmo assim continua me dando o erro:

Exception in thread “main” java.lang.NoSuchMethodError: org.hibernate.validator.ClassValidator.(Ljava/lang/Class;Ljava/util/ResourceBundle;Lorg/hibernate/validator/MessageInterpolator;Ljava/util/Map;Lorg/hibernate/reflection/ReflectionManagerV

Você adicionou todos os jars do hibernate no classpath?

vjfenix
leandros:
Cara eu acho que tem algum problema no seu mapeamento, você poderia posta-lo ai pra mim dar uma olhada
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>   
<persistence version="1.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_1_0.xsd">   
    <persistence-unit name="jpa-hibernate1">   
        <properties>   
            <property name="hibernate.hbm2ddl.auto" value="create"/>   
            <property name="hibernate.format...sql" value="true"/>   
               
            <property name="hibernate.dialect"       value="org.hibernate.dialect.MySQLDialect"/>   
            <property name="hibernate.coneecion.driver_class" value="com.mysql.jdbc.Driver"/>   
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost/jpa_hibernate"/>   
            <property name="hibernate.connection.username" value="root"/>   
            <property name="hibernate.connection.password" value=""/>   
        </properties>   
    </persistence-unit>   
</persistence>
vjfenix

Pedrosa:
vjfenix:
leandros:
Cara, antes de mais nada, você já verificou a ortografia do persistence.xml…

por exemplo, eu não sei se uma escrita incorretamente vai funcionar na hora da validação.
exemplo: você colocou hibernate.format…sql;

Leandros

Eu corrigi esse erro… mas mesmo assim continua me dando o erro:

Exception in thread “main” java.lang.NoSuchMethodError: org.hibernate.validator.ClassValidator.(Ljava/lang/Class;Ljava/util/ResourceBundle;Lorg/hibernate/validator/MessageInterpolator;Ljava/util/Map;Lorg/hibernate/reflection/ReflectionManagerV

Você adicionou todos os jars do hibernate no classpath?

sim estão todos lá…

H

Com certeza a versão do hibernate que você está usando é muito antiga.

vjfenix

hugov

a versão do hibernate que estou usando é a mais recente… não sei por que ainda da o erro abaixo:

Exception in thread main java.lang.NoSuchMethodError: org.hibernate.validator.ClassValidator.<init>(Ljava/lang/Class;Ljava/util/ResourceBundle;Lorg/hibernate/validator/MessageInterpolator;Ljava/util/Map;Lorg/hibernate/reflection/ReflectionManager;)V

at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:318)

at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)

at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1269)

at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:150)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:888)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:186)

at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:246)

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)

at mode.GeraDatabase.main(GeraDatabase.java:9)
Criado 24 de dezembro de 2007
Ultima resposta 1 de jan. de 2008
Respostas 11
Participantes 5