Jars necessários para usar hibernate[Resolvido]

Boa tarde pessoal, baixei o arquivo hibernate-distribution-3.5.0-final.zip, mas estou em dúvida sobre quais jars acrescentar em minha pasta lib. Em meu projeto estou usando os seguintes jars:

antlr-2.7.6
c3p0-0.9.1
cglib-2.2
commons-collections-3.1
dom4j-1.6.1
ehcache-1.5.0
hibernate3
hibernate-jpa-2.0-api-1.0.0.Final
infinispan-core-4.0.0.FINAL
javassist-3.9.0.GA
jbosscache-core-3.2.1.GA
jta-1.1
log4j-1.2.15
mysql-connector-java-5.1.12-bin
oscache-2.1
proxool-0.8.3
slf4j-api-1.5.8
slf4j-log4j12-1.5.11
swarmcache-1.0RC2

Com isso eu consigo criar tabelas utilizando o hibernate, mas não consigo poplular essas tabelas. Acredito que possa ser alguma dependência, mas não tenho certeza.

Minha classe Produto.java

[code]Produto.java

package br.com.caelum.hibernate;

import java.util.Calendar;

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

@Entity
public class Produto {
@Id
@GeneratedValue
private Long id;
private String nome;

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

private double preco;
private Calendar dataInicioVenda;

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public double getPreco() {
	return preco;
}

public void setPreco(double preco) {
	this.preco = preco;
}

public Calendar getDataInicioVenda() {
	return dataInicioVenda;
}

public void setDataInicioVenda(Calendar dataInicioVenda) {
	this.dataInicioVenda = dataInicioVenda;
}

}[/code]

Classe AdicionaProduto.java

AdicionaProduto.java

[code]package br.com.caelum.hibernate;

import java.util.GregorianCalendar;

import org.hibernate.Session;

public class AdicionaProduto {
public static void main(String[] args) {
Produto p = new Produto();
p.setNome(“Imac”);
p.setDataInicioVenda(new GregorianCalendar(2010, 4, 13));
p.setPreco(3.500);

	Session session = new HibernateUtil().getSession();
	session.save(p);

	System.out.println("ID do produto: " + p.getId());
	session.close();
}

}[/code]

[code]hibernate.properties

hibernate.dialect = org.hibernate.dialect.MySQLDialect

hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/fj21
hibernate.connection.username = root
hibernate.connection.password =
hibernate.show_sql = true
hibernate.format_sql = true[/code]

saída do console ao executar a classe AdicionaProduto.java

SLF4J: The requested version 1.5.11 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8] SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details. log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. Hibernate: insert into Produto (dataInicioVenda, nome, preco) values (?, ?, ?) ID do produto: 6

Está faltando algum arquivo em minha lib para executar o hibernate?Quais são os jars que devo utilizar?

A sua versão do slf4 parece estar incompatível com a do hibernate

vc tá usando slf4j-log4j12-1.5.11

e só suporta até a 1.5.8

baixe no site do slf4j uma versao 1.5.8

(esse negócio de log que o hiberante arrumou é o rei pra dar problema de jar… nunca vi :D)

Melhor dizendo

A versao do sl4j tá diferente do plugin para o log4j

slf4j-api-1.5.8
slf4j-log4j12-1.5.11

baixe o plugin do log4j versao 1.5.8

Obrigado amigo, quanto aos arquivos que estou utilizando na pasta lib, são só esses mesmos? Eu não entendi muito bem o que deveria colocar na pasta lib do meu projeto. São só os jars da pasta lib do arquivo hibernate-distribution-3.5.0-final? E mais uma vez obrigado pela ajuda.

Olá kripton11235.

Session session = new HibernateUtil().getSession(); // nao sei como vc está implementando isso
Transaction transaction = session.beginTransaction(); // aqui vc precisa abrir uma transacao
try {
	session.save(p); // salvar
	transaction.commit(); // comitar
} catch (Exception e) {
    transaction.rollback(); // rollback caso ocorra algum erro
    e.printStackTrace();
}

Espero ter ajudado.

O hibernate tem uma problemática em saber quais arquivos JAR voce tem que colocar mesmo…

Eu nao sei te informar se são esses… mas pelo… log que apareceu… parece que sim…

Se der um classnotfoundexception… aí a gente ficar sabendo se falta outro…

Eu escrevi um tutorial para o hibernate 3.3.2: http://www.javaframework.org/portal/2010/03/17/iniciando-com-hibernate-3-utilizando-annotations/

Nao usei o 3.5 pq acho que também precisa de uns jars do JEE…

Se o hibernate 3.3.2 te atender e o 3.5 precisar dos jars do jee… talvez seja interessante… usar o 3.3

Rogel, segui seu tutorial e funcionou perfeitamente, muito obrigado pela ajuda.

Q bom!! Fico feliz em ter ajudado :smiley: