Hibernate Apostila Caelum

Boa Tarde

Pessoal comecei a estudar hibernate atraves da apostila do caelum e estou tento algumas dificuldades logo no primeiro exemplo, criei a pasta lib como pede e joguei todos os jars dos hibernate-distribution-3.3.2.GA e hibernate-annotations-3.4.0.GA depois criei o arquivo hibernate.properties e depois as classes Produto.java e GeraTabela.java mais está dando esse erro.
Se alguem puder me ajudar eu agradeço.

22/07/2009 16:12:40 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.4.0.GA
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
22/07/2009 16:12:40 org.hibernate.annotations.common.Version <clinit>
INFO: Hibernate Commons Annotations 3.1.0.GA
22/07/2009 16:12:40 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring

hibernate.properties

[code]
hibernate.dialect = org.hibernate.dialect.FirebirdDialect
hibernate.connection.driver_class = org.firebirdsql.jdbc.FBDriver
hibernate.connection.url = jdbc:firebirdsql:localhost/3051:C:/workspace/struts-teste/jdbc/teste.FDB
hibernate.connection.username = SYSDBA
hibernate.connection.password = masterkey

hibernate.show_sql = true
hibernate.format_sql = true[/code]

cara, posta ai a classe que ta criando a conexão.

flw

Boa Tarde.

Essa é minha classe que cria a conexão mais a apostila não falou nada ainda da classe de conexão nem da minha classe Dao.

package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.JOptionPane;

public class ConnectionFactory {

	public Connection conexao;
	String usuario;
	String senha;
	String url;

	public ConnectionFactory() {

		// inicialização das variaveis de instancia
		usuario = "Sysdba";
		senha = "masterkey";
		url = "127.0.0.1/3051:C:/workspace/struts-teste/jdbc/TESTE.FDB";

		try {
			// inicializa o driver de conexão do firebird, levanta o driver na
			// maquina virtual que se encontra na jaybird
			Class.forName("org.firebirdsql.jdbc.FBDriver");
			System.out.println("Conectando ao banco");
		} catch (ClassNotFoundException ex) {
			JOptionPane.showMessageDialog(null, ex.getMessage(),
					"Erro de Conexão BEM AQUI NÃO TA VENDO",
					JOptionPane.ERROR_MESSAGE);
		}

		try {
			// gerenciador de drive para manipular o driver de conexão
			conexao = DriverManager.getConnection("jdbc:firebirdsql:" + url,
					usuario, senha);
			System.out.println("Conexão Realizada com Sucesso");
		} catch (SQLException ex) {
			JOptionPane.showMessageDialog(null, ex.getMessage(),
					"Erro de Conexão", JOptionPane.ERROR_MESSAGE);
		}
	}

	public static void main(String[] args) {
		ConnectionFactory obj = new ConnectionFactory();
	}
}

RenatoSfi, desculpe cara, mas eu não entendi exatamente qual é o erro que vc está tendo…

:oops:

não consegui entender se o que você postou é um erro realmente, ali só deu pra ver INFO’s e WARN’s, que não são causa de uma aplicação não rodar;

mas de qualquer forma algumas dicas:

porta padrão do firebird: 3050 (vefirica se tá certo no seu SO)
dependencias do hibernate: na página de download do hibernate tem uma tabela de compatibilidade entre as dependencias, vê se está tudo certinho

Isso não é Hibernate é JDBC puro…

Cara, tu t amisturando um pouco as coisas rsrs …

no hibernate vc não usa esse “Class.forName(“org.firebirdsql.jdbc.FBDriver”);”.

faz assim :

na classe bean vc tem que anotar a classe com @Entity e ter um atributo com @Id;

ai vc faz nesse teu metodo main:

AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(NomeDaSuaClasseBean.class);
SessionFacory f = cfg.buildSessionFactory();
Session session = f.openSession()

apartir dai vc pode usar a session para fazer o qe quiser (salvar, excluir etc…)

Concordo com egamorim.

O que eu fiz, e pra mim é o ideal é que deixe de lado o que vc tem em jdbc e faça do zero com hibernate. Acho que você irá ganhar muito (em aprendizado) visualizando o “de-para” entre as duas coisas…

:wink:

Boa Tarde.

Pessoal foi o que eu fiz seguindo a apostila do caelum eu fiz o GeraTabela e o Produto.java e na apostila diz que vai gerar uma tabela com os dados e no meu não gerou e deu so o Warn e o INFO.

package br.com.caelum.hibernate;

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


public class GeraTabelas {
	
	public static void main(String[] args){
		
		//cria uma configuração para para a classe produto
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		// Adiciona a classe Produto
		cfg.addAnnotatedClass(Produto.class);
		//cfg.configure(); 
		new SchemaExport(cfg).create(true, false);
		
	}
	
}
package br.com.caelum.hibernate;

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

import org.hibernate.annotations.Entity;


@Entity
public class Produto {
	
	@Id
	@GeneratedValue
	private Long id;
	private String nome;
	private String descricao;
	private Double preco;
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Double getPreco() {
		return preco;
	}
	public void setPreco(Double preco) {
		this.preco = preco;
	}
	
	
	
	
}

nessa parte coloca (true,true), o segundo argumento diz se é pra gerar a tabela ou não.

new SchemaExport(cfg).create(true, false);

posta tbm td que aparece no console depois que executa

Boa Tarde.

Apareceu as mesmas mensagens, o que será que deve estar faltando?.

22/07/2009 17:21:06 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.4.0.GA
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
22/07/2009 17:21:06 org.hibernate.annotations.common.Version <clinit>
INFO: Hibernate Commons Annotations 3.1.0.GA
22/07/2009 17:21:06 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring

posta uma lista com os jars que vc adicionou.
pergunta: vc adicionou no classpath ?

Boa Tarde.

Eu colocei todos os jars que estão dentro das pasta dos hibernates hibernate-annotations-3.4.0.GA e hibernate-distribution-3.3.2.GA. No classpath não adicionei nada, onde adiciono e o que no classpath?

no eclipse:

Botão direito no projeto – Build Path – Configure Build Path – libraries – Add jars
ai vc escolhe os jars e clica em ok.

eu falei pra vc postar a lista pra que agente possa ver se faltou algum, isso ja aconteceu comigo. ;D

Cara olha só vc misturou JDBC com Hibernate, faz assim tenta seguir o exemplo em JDBC e procura saber como ele funciona por trás da aplicação, depois vc faz o mesmo exemplo usando Hibernate, que ai vc vai ver como as coisas ficam mais fácies, e o aprendizando sobre o erros é mais apurado. Por que só fazer como está na apostila não vai te ensinar de verdade, por que o diferencial é saber como rodam as coisa internamente ai vc é o “cara”. Valew.

Boa Tarde.

Segue a imagem de todos os jars que foram adicionados.

Iron valeu pela dica mais só confundi um pouco a pergunta, pois seu como funciona o JDBC pois fazia aplicativos para desktop, agora estou passando para internet já vi um pouco de struts agora estou vendo como funciona hibernate.