iT邦幫忙

0

Hibernate executeUpdate的問題(已解決)

以下的程式,執行第一次update時還可以跑到commit,但是在頁面上

仍然顯示修改前的結果。

但第二次執行update時,就卡住到不了commit。

        Transaction tx = getSession().beginTransaction();
		try {
		SQLQuery query = getSession().createSQLQuery("update CUSTOMER set NAME='"+customer.getName()+"', ADDRESS='"+customer.getAddress()+"'"+
				" where CUSTOMER_ID="+customer.getCustomerId()+"");
		query.executeUpdate();
		tx.commit();
		}catch (Exception e) {
	        tx.rollback();          //回滾事務 
	    }

我把上面產生出來的SQL,貼到sqldeveloper上面去執行,是可以正常執行的。

為甚麼update後有執行commit,之後的update卻仍然卡住,請問卡住不動的原因是什麼呢?

另外我將以上的寫法改成:

getHibernateTemplate().update(customer);

結果也是一樣。


改成以下這樣就好了:

Session session = getHibernateTemplate().getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
session.update(customer);
tx.commit();
你的sqldeveloper那邊執行完update的測試是否沒做commit或rollback?

尚未有邦友回答

立即登入回答