电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

EJB之JPA(事务回滚)


发布日期:2019/6/11
 
package leadfarjpa;import javautilRandom;import javaxnamingInitialContext;import javaxtransactionUserTransaction;import leadfarjpaStudentManager;import junitframeworkTestCase;public class StudentManagerClient extends TestCase{

public void testAddStudent() throws Exception{

InitialContext context = new InitialContext()

StudentManager sm = (StudentManager)contextlookup(StudentManager/remote

for(int i=; i<; i++){

smaddStudent(学生+new Random()nextInt())

if(i > ){

throw new RuntimeException(异常!

//数据库依然会插进去数据

}

}

}

public void testAddStudent() throws Exception{

InitialContext context = new InitialContext()

StudentManager sm = (StudentManager)contextlookup(StudentManager/remote

//JTA的事务管理由UserTransaction管理

UserTransaction utx = (UserTransaction)contextlookup(UserTransaction

try{

utxbegin()

//没有数据会插入数据库整个事务都回滚

for(int i=; i<; i++){

smaddStudent(学生+new Random()nextInt())

if(i > ){

throw new RuntimeException(异常!

}

}

mit()

}catch(Exception e){

utxrollback()

eprintStackTrace()

}

}

}

上一篇:JNA调用DLL一点小结

下一篇:高效的找出两个List中的不同元素