剛剛搞定一個從昨天就搞不定的問題,都已經瘋了,鬧了半天,該了個名字就好了,我要做一個一對多的映射,一個出版社對應多本書,在Publish類里面定義了一個Set的eBook,就是這個eBook這個名字,換了個叫someBook就好了,想想,我的書類叫EBook,難道和這個有關系?納了悶了,總是報Could not find getter for eBook in Publish類。
關于Hibernate的延時加載,如果出現
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.hwebmapping.pojo.Person.cats, no session or session was closed
的異常,就是Hibernate要讀取數據的時候,Session已經關閉,可以用監聽器的方法來在頁面加載完成后關閉session.(implements javax.servlet.Filter).
出現下面這樣的錯誤:
java.lang.NoClassDefFoundError
at com.hwebmapping.hibernate.HibernateDAOBean.doInsertCardDataToDB(HibernateDAOBean.java:337)
337行是下面finally中的語句
finally
{
HibernateUtil.closeSession();
}
經查原來是因為,在Card.hbm.xml中的類名寫錯了,找不到,但是報上面的錯誤讓人有點摸不著頭腦了,為什么是在closeSession的時候出現的異常呢,按理說應該在加載xml的時候就應該有異常了阿。費解。
<hibernate-mapping>
<class name="com.hwebmapping.pojo.Card" table="Card">