一种方法是将
TransactionTemplatein
插入到测试类中,删除
@Transactional和,
@Commit然后将测试方法修改为以下内容:
...public class CommitTest { @Autowired TestRepo repo; @Autowired TransactionTemplate txTemplate; @Test public void testCommit() { txTemplate.execute(new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { repo.createPerson(); // ... } }); // ... System.out.println("Something after the commit..."); }要么
new TransactionCallback<Person>() { @Override public Person doInTransaction(TransactionStatus status) { // ... return person } // ...});TransactionCallbackWithoutResult如果您打算将断言添加到刚刚持久化的人员对象上,请使用回调隐式代替。



