dljd_027_增改刪在同一個事務中的默認執行順序

1、測試增刪改在同一個事務中的默認執行順序示例數據庫

package edu.aeon.test; import org.hibernate.Session; import org.hibernate.Transaction; import edu.aeon.aeonutils.GetSessionUtil; import edu.aeon.beans.Student; /** * [說明]:測試增刪改在同一事務環境下的默認執行順序 * 測試結果:默認執行順序爲:增長C、更新(U)、刪除(D) * @author aeon * */
public class TestCRUD { public static void testCUD(/*Student student*/){ Transaction transaction=null; try { Session session = GetSessionUtil.getSession(); transaction = session.getTransaction(); /**開啓事務*/ transaction.begin(); /**1、執行刪除操做(將stuid爲1的學生刪除)*/ Student student1 =session.get(Student.class,1); session.delete(student1); /**2、執行更新操做(將stuid爲2的用戶的姓名改成:aeon)*/ Student student2=session.get(Student.class, 2); student2.setStuName("aeon"); session.update(student2); /**3、執行插入操做(插入一條用戶名爲:tuling、年齡爲:30)*/ Student student3=new Student("tuling",30); session.save(student3); transaction.commit(); System.out.println("操做成功!"); } catch (Exception e) { e.printStackTrace(); transaction.rollback(); System.out.println("操做失敗!"); } } public static void main(String[] args) { testCUD(); } }

 

首先在執行以前咱們看一下數據庫中的數據截圖:session

  

執行結果截圖:測試

  

咱們再來看下數據庫執行先後的結果對比:ui

  

測試結果:spa

  若是增刪改在同一個事務中,那麼其默認執行順序爲增C改U刪D!hibernate

2、咱們知道默認的通常咱們能夠人爲去修改、那麼怎麼修改呢?(session.flush())code

  修改方式是用session.flush()、這裏需注意以session.flush()爲分界線其前面的操做也按照默認執行順序走!blog

相關文章
相關標籤/搜索