2016-02-26 81 views
2

我Eclipse控制檯異常線程 「main」 org.hibernate.MappingException:未知實體:bitronix.examples.hibernate.entities.User

Exception in thread "main" org.hibernate.MappingException: Unknown entity: bitronix.examples.hibernate.entities.User 

的hibernate.cfg.xml在得到以下異常好比:

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
     <property name="hibernate.connection.password">postgres</property> 
     <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/bitronixH4</property> 
     <property name="hibernate.connection.username">postgres</property> 
     <property name="hibernate.connection.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
     <property name="hibernate.hbm2ddl.auto">create</property> 
     <mapping resource="bitronix/examples/hibernate/entities/User.hbm.xml" /> 
    </session-factory> 
</hibernate-configuration> 

Test.java類就像

package bitronix.examples.hibernate.entities; 

public class Test { 
    public static void main(String[] args) { 
     Configuration configuration = new Configuration(); 
     configuration.configure("hibernate.cfg.xml"); 
     ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() 
       .applySettings(configuration.getProperties()).build(); 
     SessionFactory sf1 = new Configuration() 
       .buildSessionFactory(serviceRegistry); 
     Session session = sf1.openSession(); 
     session.beginTransaction(); 
     User user = new User(); 
     user.setName("rrr"); 
     session.save(user); 
     session.getTransaction().commit(); 
    } 
} 

My project structure

任何建議或幫助表示讚賞。

編輯:我User.java是這樣

public class User { 
private Integer id; 
private String name; 
//getters and setters 
} 

我User.hbm.xml是這樣

<hibernate-mapping > 
    <class name="bitronix.examples.hibernate.entities.User" table="test_user" > 
     <id name="id" type="int"> 
      <column name="id" /> 
      <generator class="identity" /> 
     </id> 
     <property name="name" type="string"> 
      <column name="name" /> 
     </property> 
    </class> 
</hibernate-mapping> 
+0

向我們展示你正在使用初始化Hibernate的Java代碼。 –

+0

我沒有除Test.java類之外的任何Java代碼,我已在上面發帖。 –

回答

1

的問題,很明顯,與配置代碼。您創建兩次Configuration

只是做

SessionFactory sf1 = new Configuration().configure().buildSessionFactory(); 

我知道,它在休眠4.不贊成使用,但對Hibernate 5這是一個很好的方式。這種休眠4方法不會與Hibernate 5.工作

Hibernate 5 :- org.hibernate.MappingException: Unknown entity

+0

現在我必須忍受我在我的生活中犯了這樣一個愚蠢的錯誤。 –

+0

@BhushanPatil每個人都可以在配置上犯錯。 Hibernate有一個非常不方便的API和一個不清楚的文檔。儘量寫儘可能少的代碼。舉例來說,這裏有很多人使用大量不必要的註釋。 –

相關問題