Olá,
tenho que fazer um exemplo em Hibernate+JPA para a faculdade, só que ocorre um erro
Erro:
[color=red]
Exception in thread “main” java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.hibernate.cfg.Configuration.(Configuration.java:151)
at hibernate.Main.main(Main.java:23)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
… 2 more
Java Result: 1
[/color]
Classe Users:
[code]
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name=“APP.USERS”)
public class Users implements java.io.Serializable{
private static final long serialVersionUID = 1L;
@Id
private Integer id;
@Column()
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Users() {
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Users other = (Users) obj;
if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 7;
hash = 37 * hash + (this.id != null ? this.id.hashCode() : 0);
return hash;
}
public String toString(){
return name;
}
}[/code]
Classe Main:
[code]
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
/**
*
-
@author 8620016
*/
public class Main {/**
-
@param args the command line arguments
*/
public static void main(String[] args) {
//Passa as configurações do Hibernate
SessionFactory sessionFactory = new AnnotationConfiguration()
.setProperty(“hibernate.dialect”, “org.hibernate.dialect.DerbyDialect”)
.setProperty(“hibernate.connection.driver_class”, “org.apache.derby.jdbc.ClientDriver”)
.setProperty(“hibernate.connection.url”, “jdbc:derby://localhost:1527/testehibernate”)
.setProperty(“hibernate.connection.username”,“teste”)
.setProperty(“hibernate.connection.password”,“teste”)
.setProperty(“hibernate.show_sql”,“true”)
.setProperty(“hibernate.format_sql”,“true”)
.setProperty(“hibernate.c3p0.acquire_increment”,“1”)
.setProperty(“hibernate.c3p0.idle_test_period”,“100”)
.setProperty(“hibernate.c3p0.max_size”,“10”)
.setProperty(“hibernate.c3p0.max_statements”,“0”)
.setProperty(“hibernate.c3p0.min_size”,“5”)
.setProperty(“hibernate.c3p0.timeout”,“100”)
.addAnnotatedClass(Users.class)
.buildSessionFactory();
Session session = sessionFactory.openSession();//Abre uma sessão
session.beginTransaction();//Inicia uma transação//Implmentar aqui as funções da aplicação
Users user = (Users) session.get(Users.class, 1);
System.out.println("Usuário: "+user);session.getTransaction().commit();//Faz uma comit
session.close();//Fecha uma conexão
sessionFactory.close();
}
-
}[/code]
Me parece que está faltando alguma lib no classpath.
Lista de libs:
[color=blue]
hibernate3.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
hibernate-cglib-repack-2.1_3.jar
javassist-3.4.3GA.jar
c3p0-0.9.1.jar
hibernate-annotations.jar
ejb3-persistence.jar
hibernate-commons-annotations.jar
hibernate-entitymanager.jar
antlr.jar
asm-attrs.jar
asm.jar
cglib.jar
log4j.jar
slf4j-log4j12.jar
[/color]
Já tentei adicionar algumas libs a mais, no entanto não surtiu efeito.
Alguém tem uma idéia?
Agradeço a ajuda! T+