相关疑难解决方法(0)

了解Spring Transaction边界

我试图通过以下示例清除我对Spring Transaction边界的疑虑.

@Transactional(propagation=Propagation.REQUIRES_NEW)
public void test() {    
    test1();
    test2();        
}

@Transactional(propagation=Propagation.NOT_SUPPORTED, readOnly=false)
public void test1() {
    this.jdbcTemplate.execute("INSERT INTO TEST VALUES('T', 'C2', 0, 1)");      
}

@Transactional(propagation=Propagation.SUPPORTS, isolation=Isolation.READ_UNCOMMITTED, readOnly=true)
public void test2() {
    System.out.println(this.jdbcTemplate.queryForInt("select count(*) from TEST"));         
}
Run Code Online (Sandbox Code Playgroud)

我想从test1()中隔离test2()方法,每次调用test()时test2()都不应该读取test1()提交的数据.请建议是否可以使用传播或隔离属性来处理此场景.

提前致谢.

java spring

3
推荐指数
1
解决办法
9213
查看次数

标签 统计

java ×1

spring ×1