2013-03-25 28 views
0

我得到一個空指針異常與下面的映射xml(沒有POJO)。沒有POJO空指針異常的Hibernate4 XML映射

a。 employee.hmb.xml

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD//EN" 
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping> 
<class entity-name="Employee" table="employee"> 
    <id name="id" column="id" type="int" > 
     <generator class="native" /> 
    </id> 
    <property name="firstName" column="first_name" type="string" /> 
    <property name="lastName" column="last_name" type="string" /> 
</class> 
</hibernate-mapping> 

b。輸出

Exception in thread "main" java.lang.NullPointerException 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Unknown Source) 
at org.hibernate.annotations.common.util.ReflectHelper.classForName(ReflectHelper.java:143) 
at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.classForName(JavaReflectionManager.java:117) 
at org.hibernate.envers.configuration.RevisionInfoConfiguration.configure(RevisionInfoConfiguration.java:262) 
at org.hibernate.envers.configuration.AuditConfiguration.<init>(AuditConfiguration.java:103) 
at org.hibernate.envers.configuration.AuditConfiguration.getFor(AuditConfiguration.java:166) 
at org.hibernate.envers.event.EnversIntegrator.integrate(EnversIntegrator.java:64) 
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:303) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) 
at org.tutorial.hibernate.annotation.UserDetailDemo.main(UserDetailDemo.java:26) 

但是,如果我把它映射到班員工,沒有問題。
請幫忙。
謝謝。

+0

當你「將其映射到班級員工」時,你實際上會發生什麼變化,而且事情正常嗎?在我看來,該hbm.xml已經映射到一個Employee類。 – sharakan 2013-03-25 20:53:31

+0

@sharakan沒有什麼改變。這個想法是我不想使用一個名爲Employee的類,當它可以在hbm.xml中完成時。它看起來很簡單,但我不知道它爲什麼會給出空指針異常。有沒有可能Hibernate4不允許沒有POJO的XML映射? – yapkm01 2013-03-25 21:20:37

回答

0

您無法構建引用在構建配置時無法加載的類的配置。

可以然而,要求Hibernate爲你生成Java文件,然後編譯它們並在運行時使用它們。你可以用hbm2java來做到這一點。它有一個Ant task,以及一些相關的IDE plugins。他們將生成一個.java文件,然後您可以在運行時編譯和使用它。

+0

讓我失望!這是ORM。當然,它需要類。底線是你還需要POJO!我有這個對嗎? – yapkm01 2013-03-25 21:37:19

+0

你明白了。唯一的問題是你是否必須編寫它或工具。 – sharakan 2013-03-25 22:43:51

+0

謝謝! – yapkm01 2013-03-26 16:21:50