我是新來的休眠,並試圖堅持一個簡單的對象在數據庫中。數據被保存在表中,但隨後下列拋出異常。 引起:org.hibernate.TransactionException:交易未成功開始如何解決這個異常??引起:org.hibernate.TransactionException:事務沒有成功啓動
這是我的代碼,請幫忙!
@Transactional
public void addEmployee(Employee empObj) {
System.out.println(">>>>>>>>>>>in DAO");
Transaction tx = null;
Session session=sessionFactory.getCurrentSession();
try{
tx=session.beginTransaction();
session.save(empObj);
tx.commit();
}
catch (HibernateException e) {
if (tx!=null)
tx.rollback();
e.printStackTrace();
}
}
是它的工作,謝謝!現在請你向我解釋何時使用@Transactional?我的代碼有什麼問題? –
@Transactional處理自動提交和回滾?事務結束後,是否需要關閉會話? –
當您使用'@ Transactional'時,如所述,Spring會在方法調用之前爲您打開一個,並在方法結束時提交(如果發生異常,通常會回滾)。把它看作好像Spring在方法調用之前調用'session.beginTransaction()',之後調用'tx.commit(); –