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

相关文章
相关标签/搜索