今天在測hibernate的時候,一直出現Unable to instantiate default tuplizer這個錯誤,找不到entity。初步猜測是映射文件的錯誤,看了一下mapping,好像沒什么問題,刪掉了幾個無關緊要的配置,也還是會提示錯誤。class名沒有錯,加上包名還是有問題。
忽然想到剛才為了測試的單純性,去掉了所有的外鍵關系,把POJO中的外鍵屬性也去掉了,但是映射文件還沒有刪掉。刪掉之后,測試通過。
映射文件真的很糾結,昨天做了一個many- to -one的測試,因為配置中的pojo類名寫錯,直接導致整個測試不通過。就連昨天已經測通過的也跑不起來一直報異常,說找不到sessionFactory工具類,網上搜了一下解決方案,大概有這么幾個方法:
1.架包有問題,可能有沖突,或者先移除再加載一下重新試試;
2. 重寫寫下sessionFactory工具類(這個就汗了 - -);
3. 配置文件有問題
去掉后加進主配置文件的兩個映射文件,之前的測試還是可以跑的通,加進來與之前無關的映射文件之后,之前的測試依舊提示不能初始化sessionFactory工具類,
兩個映射逐個添加逐個測試,最后鎖定其中的一個有問題,后來發現類名寫錯了... 修改之后,測試通過。
真心覺得很詭異,與其他無關的映射文件居然影響到了整個項目,以后要小心了。