Hibernate 的session.delete無法刪除數據庫數據的問題。


Session只有在清理緩存的時候的才執行delete語句。此外,只有當調用Session的close()方法時,才會從Session的緩存中刪除該對象。

例如以下代碼先加載一個持久化對象,然后通過delete()方法將它刪除:

        Session session1 = sessionFactory.openSession();

        Transaction tx1 = session1.beginTransaction();

        // 先加載一個持久化對象

        Customer customer = (Customer)session.get(Customer.class, new Long(1));

        session.delete(customer); // 執行一個delete語句

        txt1.commit(); // 清理緩存,執行delete語句

        session.close();// 從緩存中刪除Customer對象

小結:刪除數據前,開啟事務,可以解決這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM