Я хочу проверить изоляцию Read_Committed
.Я добавил Propogation.Required для внешней транзакции и изоляцию Read_Committed для моей внутренней транзакции.Но до совершения внешней транзакции я могу получить запись.Ниже мой код
@Service
public class CustomerManagerImpl implements CustomerManager {
@Autowired
private CustomerDAO customerDAO;
public void setCustomerDAO(CustomerDAO customerDAO) {
this.customerDAO = customerDAO;
}
@Transactional(readOnly=false)
public void createCustomer(Customer cust) {
customerDAO.create(cust);
}
@Transactional(readOnly=false)
public void createAddress(Address add) {
customerDAO.createAdd(add);
}
//@Transactional
@Transactional(isolation =Isolation.READ_COMMITTED)
public void findCustomer(int id) {
customerDAO.findCustomer(id);
}
вспомогательный класс для внешней транзакции:
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = Exception.class)
public void saveObject() {
Customer cust = createDummyCustomer();
customerManager.createCustomer(cust);
customerManager.findCustomer(2);
Address add =createDummyAddress();
customerManager.createAddress(add);
}