2014-02-06 90 views
2

我想在項目中設置休眠,作爲它的一部分,我試圖做一個簡單的更新查詢,以確保它能夠工作。這裏是我的代碼:休眠不執行更新查詢

Session sess = factory.openSession(); 

sess.beginTransaction(); 

sess.createSQLQuery("UPDATE fooTable SET bar='baz' "); 
sess.getTransaction().commit(); 
sess.close(); 

當我運行的代碼,一切執行沒有任何錯誤消息,我看到有關獲取JDBC驅動程序(使用我所提供的配置信息)調試消息,但是更新查詢沒有按由於表格仍然顯示舊信息,因此似乎不會執行。

我在做什麼錯?

回答

4

您創建了該查詢,但未執行該查詢。

... 
Query qry = sess.createSQLQuery("UPDATE fooTable SET bar='baz' "); 
int updatedRows = qry.executeUpdate(); 
... 
+1

使用應該檢查更新的結果,即'int count = qry.executeUpdate();' – Hannes

+0

良好的調用。更新。 –