Tentando implementar o hibernate está dando o erro abaixo. Já ralei pra tentar descobrir o erro, mas como sou filhote ainda não estou conseguindo.
O ERRO!!!
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:165)
at dao.ConnectionUtil.<init>(ConnectionUtil.java:16)
at teste.main(teste.java:15)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more
A classe
package bel;
import java.util.Collection;
import lists.Estado;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Column;
import javax.persistence.OneToMany;
/**
* Classe que representa a Cidade, que está presente no usuário (para possibilitar estatisticas quantitativas visando futuros relatórios de marketing e vendas), endereco e eventos.
* @author romulor2
*/
@Entity(name="endereco")
public class Cidade {
@Id
@GeneratedValue
@Column(name="idcidade")
private Integer sequencialCidade;
@Column(name="txnomecidade")
private String nomeCidade;
@Column(name="codestado")
@Enumerated(EnumType.STRING)
private Estado estado;
//@OneToMany(mappedBy="cidade", fetch=FetchType.LAZY)
//private Collection<bel.Usuario> usuariosCidade;
getters and setters
}
package bel;
//import java.util.Collection;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Column;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import lists.Sexo;
/**
* Classe genérica que representa o Usuário do site.
* @author romulor2
*/
@Entity(name="usuario")
//@Inheritance(strategy= InheritanceType.JOINED)
public class Usuario {
@Id
@GeneratedValue
@Column(name="idusuario")
protected Integer sequencialUsuario;
@Column(name="txnome")
protected String nomeUsuario;
@Column(name="txlogin")
protected String loginUsuario;
@Column(name="txsenha")
protected String senhaUsuario;
@Column(name="txemail")
protected String emailUsuario;
@Temporal(TemporalType.DATE)
@Column(name="datanascimento")
protected Date dataNascimento;
@Column(name="txsexo")
@Enumerated(EnumType.STRING)
protected Sexo sexo;
Aqui entra os getters e setters
O hibernate-cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//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.url">jdbc:mysql://localhost/adorandocommusica</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<mapping class="bel.Usuario"/>
<mapping class="bel.Cidade"/>
</session-factory>
</hibernate-configuration>
a classe de chamada
package dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class ConnectionUtil {
private Session sessao;
private Transaction transacao;
public ConnectionUtil()
{
//Cria objeto que receberá as configurações
Configuration cfg = new AnnotationConfiguration();
//Informe o arquivo XML que contém a configurações
cfg.configure("hibernate.cfg.xml");
//Cria uma fábrica de sessões.
//Deve existir apenas uma instância na aplicação
SessionFactory sf = cfg.buildSessionFactory();
// Abre sessão com o Hibernate
sessao = sf.openSession();
}
public Transaction getTransacao()
{
return transacao;
}
public Session getSessao()
{
return sessao;
}
public void iniciaTransacao()
{
transacao = sessao.beginTransaction();
}
public void commitTransacao()
{
transacao.commit();
}
public void rollbackTransacao()
{
transacao.rollback();
}
public void finalize()
{
sessao.close();
}
}
A classe do teste
import java.text.ParseException;
public class teste {
public static void main(String[] args) throws ParseException
{
System.out.println("teste 2");
bel.Usuario usu = new bel.Usuario();
usu.setLoginUsuario("teste");
usu.setNomeUsuario("teste1");
usu.setEmailUsuario("[email removido]");
dao.Usuario usuDao = new dao.Usuario();
dao.ConnectionUtil conn = new dao.ConnectionUtil();
conn.iniciaTransacao();
usuDao.salvar(conn.getSessao(), conn.getTransacao(), usu);
}
}