2014-01-29 69 views
0

我有一個MySQL 5 DB和休眠4器件的應用的MySQL + Hibernate的更新查詢不執行

我用這個方法來更新某個實體

public void executeNamedQuery(String namedQuery,Map params) { 
    if(params != null){ 
     try{ 
      getSession().getNamedQuery(namedQuery).setProperties(params).executeUpdate(); 
      getSession().flush(); 
     } catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
    else{ 
     getSession().getNamedQuery(namedQuery).executeUpdate(); 
    } 
} 

,這就是調試寫

Hibernate: update announcement set status=?, dcp_id=? where announcement_id=? 

,當我打開mysql的日誌表,我覺得這個查詢的查詢中排在

update announcement set status=-6, dcp_id=149714 where announcement_id=81 

但行沒有更新,當我在工作臺中它工作正常。

什麼可能導致這裏的問題?

回答

0

我不知道executeNamedQuery附近是什麼,但似乎您的更改沒有提交給數據庫。在這種情況下,upate將在事務超時後回滾。