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