2016-03-20 29 views
0

Jungs, ich bin Neuling in Hibernate .. Ich versuche, Anmerkung in Hibernate zu verwenden, aber es gibt mir eine Ausnahme .. hier ist mein Code .. irgendwelche Vorschläge .. Vielen Dank im VorausAusnahme bei der Verwendung Annotation in Hibernate

in hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?> 
<hibernate-configuration> 

<session-factory> 

<!-- Related to the connection START --> 
<property name="connection.driver_class">com.mysql.jdbc.Driver </property> 
<property name="connection.url">jdbc:mysql://localhost:3306/mydb </property> 
<property name="connection.user">root </property> 
<property name="connection.password">root</property> 
<!-- Related to the connection END --> 

<!-- Related to hibernate properties START --> 
<property name="show_sql">true</property> 
<property name="dialet">org.hibernate.dialet.MYSQLDialet</property> 
<property name="hbm2ddl.auto">create</property> 
<!-- Related to hibernate properties END--> 

<!-- Related to mapping START--> 
<mapping resource="user.hbm.xml" /> 
<!-- Related to the mapping END --> 

</session-factory> 
</hibernate-configuration> 

DataProvider.java

import javax.persistence.*; 

@Entity 
@Table(name="dataprovider") 
public class DataProvider { 

    @Id @GeneratedValue 
    @Column(name="id") 
    private int user_id; 
    @Column(name="name") 
    private String user_name; 
    @Column(name="description") 
    private String user_desc; 


    public int getUser_id() { 
     return user_id; 
    } 
    public void setUser_id(int user_id) { 
     this.user_id = user_id; 
    } 
    public String getUser_name() { 
     return user_name; 
    } 
    public void setUser_name(String user_name) { 
     this.user_name = user_name; 
    } 
    public String getUser_desc() { 
     return user_desc; 
    } 
    public void setUser_desc(String user_desc) { 
     this.user_desc = user_desc; 
    } 


} 

in InsertData.java

import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.Transaction; 
import org.hibernate.cfg.AnnotationConfiguration; 
import org.hibernate.cfg.Configuration; 

public class InsertData { 
    private static SessionFactory factory; 

    public static void main(String[] args) { 
     factory = new AnnotationConfiguration().configure("hibernate.cfg.xml").addAnnotatedClass(DataProvider.class) 
       .buildSessionFactory(); 
     new InsertData().insertInfo(); 

    } 

    public void insertInfo() { 
     Session session = factory.openSession(); 

     DataProvider provider = new DataProvider(); 
     provider.setUser_id(121); 
     provider.setUser_name("name"); 
     provider.setUser_desc("desc"); 

     Transaction tr = session.beginTransaction(); 
     session.save(provider); 
     System.out.println("Object Saved"); 

     tr.commit(); 
     session.close(); 
     factory.close(); 

    } 

} 

die Ausnahme

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
    at org.hibernate.cfg.annotations.Version.<clinit>(Version.java:12) 
    at org.hibernate.cfg.AnnotationConfiguration.<clinit>(AnnotationConfiguration.java:78) 
    at InsertData.main(InsertData.java:11) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
+0

Ausnahme sagt 'java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory'. Schließen Sie 'slf4j' ein und versuchen Sie es. –

Antwort

0

Alle von Hibernate erforderlichen Abhängigkeiten werden nicht geladen, wenn Sie Maven alle Gläser verwenden verwiesen werden in dem Anwendungs ​​Classpath automatisch geladen.

Als Ihr Fehler ist eindeutig sagen, Sie einen Verweis auf die sl4j jar fehlen.

https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=0ahUKEwiBxfuDrM_LAhWCVI4KHU2uBZYQFghAMAY&url=http%3A%2F%2Fmvnrepository.com%2Fartifact%2Forg.slf4j%2Fslf4j-api&usg=AFQjCNFZmEX-pLO1rqWxEyCRGohyjvgEFw

0

Die Ausnahme ist ganz klar: die Klasse org.slf4j.LoggerFactory von Hibernate erforderlich ist, wurde aber nicht gefunden. Sie müssen Ihrem Klassenpfad die entsprechende Bibliothek hinzufügen, d. H. Sie benötigen zusätzlich zu hibernate.jar eine Datei namens slf4j.jar.

Verwandte Themen