Hibernate初始化時在OneToOneSecondPass類中出現NullPointerException
啟動項目,Hibernate隨即報錯Caused by: java.lang.NullPointerException
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:135)
解決辦法
OneToOne并使用外鍵生成器的時候需要持久化對象聲明的順序.被依賴的需要先聲明
這個異常是出現在我一個類依賴另一個類來生成主鍵的時候產生
這時候應該注意的是mapping class的聲明順序,
例如下面,如果Role類依賴User的某個屬性(例如我的情況是Role使用foreign key generator根據User的主鍵生成Role的主鍵)
這時候就需要先聲明User然后聲明Role,否則會出現上面的異常.
<hibernate-configuration>
<session-factory>
<mapping class="model.User" />
<mapping class="model.Role" />
</session-factory>
</hibernate-configuration>
posted on 2008-08-15 16:33 Gordian Yuan 閱讀(1301) 評論(2) 編輯 收藏