2017-03-16 143 views

回答

1

所以變化不會在數據庫中反映您還沒有開通任何交易。

使用SessionFactory.openSession()創建會話時,不會創建任何事務,因此您的操作在事務上下文之外執行。爲了看到你的變化,你必須開始一個新的交易,或作爲持續交易的一部分執行你的操作。

例子:

Session sess = factory.openSession(); 
Transaction tx; 
try { 
    tx = sess.beginTransaction(); 
    //do some work 
    ... 
    tx.commit(); 
} 
catch (Exception e) { 
    if (tx!=null) tx.rollback(); 
    throw e; 
} 
finally { 
    sess.close(); 
} 

要麼使用事務保存對象或在當前情況下使您的配置文件中的以下變化:

<property name="connection.autocommit">true</property> 
+0

Thank you ..It works @mehmood memon – superman

+0

@superman不客氣!請將答案標記爲正確並加註。 –