Erro Hibernate

7 respostas
cs.santos0

Bom dia,

venho aki mais uma vez para postar uma dúvida sobre hibernate.

Estou estudando pela apostila da Caelum da loja virtual e bem no inicio é criado um banco de dados para uma classe Usuario, segue o código:

package br.com.caelum.lojavirtual.modelo;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Usuario {
	
	@Id
	@GeneratedValue
	private Long id;
	private String login;
	private String senha;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
}

hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost/teste</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>        
		<mapping class="br.com.caelum.lojavirtual.modelo.Usuario"/>        
    </session-factory>
</hibernate-configuration>

e a classe que gera o banco:

package br.com.caelum.lojavirtual.util;

import org.hibernate.HibernateException;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {
	public static void main(String[] args) throws HibernateException{
		try{
			/*Configuration conf = new Configuration().configure("hibernate.cfg.xml");		
			SchemaExport se = new SchemaExport(conf);
			se.create(true, true);*/
			
			Configuration conf = new AnnotationConfiguration();
			conf.configure();
			SchemaExport se = new SchemaExport(conf);
			
			se.create(true, true);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

e finalmente o erro:

10:38:07,203  INFO Version:15 - Hibernate Annotations 3.3.0.GA
10:38:07,218  INFO Environment:464 - Hibernate 3.0.2
10:38:07,218  INFO Environment:477 - hibernate.properties not found
10:38:07,218  INFO Environment:510 - using CGLIB reflection optimizer
10:38:07,218  INFO Environment:540 - using JDK 1.4 java.sql.Timestamp handling
10:38:07,296  INFO Configuration:1160 - configuring from resource: /hibernate.cfg.xml
10:38:07,296  INFO Configuration:1131 - Configuration resource: /hibernate.cfg.xml
10:38:07,531  INFO Configuration:1272 - Configured SessionFactory: null
10:38:07,562  INFO Dialect:92 - Using dialect: org.hibernate.dialect.MySQLDialect
Exception in thread "main" java.lang.NoSuchFieldError: sqlResultSetMappings
	at org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings(AnnotationConfiguration.java:175)
	at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:263)
	at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:588)
	at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:64)
	at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:49)
	at br.com.caelum.lojavirtual.util.GeraBanco.main(GeraBanco.java:17)

alguem poderia me socorrer??

obrigado

7 Respostas

MrDataFlex

Cara, Java 1.4?

Provavelmente você tenha uma versão antiga desta tabela no seu banco.

Exclui o banco e cria novamente.

abçs

cs.santos0

Cara, mas essa classe GeraBanco, não é para o banco ser criado??

eu não tenho esse banco la!!

e msm q eu crie um banco vazio la, tb continua o erro.

alguma ideia??

vlw

jgbt

Annotations so funcionam com Java 5 ou supeirior.

[]´s

cs.santos0

eu sei, meu projeto ja esta com java 5… a minha classe Usuario compila normal

MrDataFlex

Logico que o seu “GeraBanco” Não gera bancos, somente tabelas!!! o banco voce faz na mão!

H

Pelo o que apareceu no seu log de erro está faltando o arquivo hibernate.properties, dá uma olhada pra ver se você não esqueceu de colocar ele.

cs.santos0

Vlw a ajuda pessual…

mas o problema era a versão dos frameworks q eu tava usando, revisei eles e deu certo aki.

obrigado!

vlw cara!!..eu sou novo em hibernate, na verdade nem sabia que dava pra criar tabelas. Um conhecimento a mais pra mim… :smiley:

flw

Criado 14 de dezembro de 2007
Ultima resposta 14 de dez. de 2007
Respostas 7
Participantes 4