java.lang.NoClassDefFoundError: org/hibernate/Session的異常處理


首先看異常: java.lang.NoClassDefFoundError:org/hibernate/Session

這個錯誤明顯是找不到類庫

發生這種異常的因素有可能:

jar包導入不正確或缺少jar包 (hibernate.jar);

直接添加hibernate.jar包。

解決問題的方法永遠不止一個 ---->

如果有jar而且還不行試試另一種方法,

比如原來是:

hibernateTemplate.save(customer);        (發生這種錯誤都會指向一條sql語句)

現在改成:

Session session = hibernateTemplate.getSessionFactory().openSession();
if(session !=null)
{
session.save(customer);
}
session.flush();
session.close();

還有一個情況就是向數據庫插入為0的主鍵,那么修改數據庫環境,

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"
NO_AUTO_VALUE_ON_ZERO影響AUTO_INCREMENT列的處理。一般情況,你可以向該列插入NULL或0生成下一個序列號。NO_AUTO_VALUE_ON_ZERO禁用0,因此只有NULL可以生成下一個序列號。

如果將0保存到表的AUTO_INCREMENT列,該模式會很有用。(不推薦采用該慣例)。例如,如果你用mysqldump轉儲表並重載,MySQL遇到0值一般會生成新的序列號,生成的表的內容與轉儲的表不同。重載轉儲文件前啟用NO_AUTO_VALUE_ON_ZERO可以解決該問題。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com