2016-02-26 84 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和一个不清楚的文档。尽量写尽可能少的代码。举例来说,这里有很多人使用大量不必要的注释。 –

相关问题