下面列出了org.springframework.transaction.annotation.Propagation#MANDATORY 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Propagation.MANDATORY 必须在一个已有的事务中执行,否则抛出异常
*/
@Transactional(propagation=Propagation.MANDATORY)
public void insertMandatory(PersonDto person, boolean throwException) {
personDao.insert(person);
if(throwException) {
throw new RuntimeException("ERROR");
}
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatory(User2 user){
user2Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatoryException(User2 user){
user2Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatory(User1 user){
user1Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatoryException(User1 user){
user1Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatory(User2 user){
user2Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatoryException(User2 user){
user2Mapper.insert(user);
throw new RuntimeException();
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatory(User1 user){
user1Mapper.insert(user);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void addMandatoryException(User1 user){
user1Mapper.insert(user);
throw new RuntimeException();
}
@Transactional(propagation = Propagation.MANDATORY, readOnly = true)
public User findByUserIdWithPropagationMandatory(Integer id) {
return userRepository.findById(id);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void executeWith_MANDATORY(Runnable runnable) {
runnable.run();
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public void executeWith_MANDATORY(Runnable runnable) {
runnable.run();
}
/**
* @param cache Cache.
*/
@Transactional(propagation = Propagation.MANDATORY)
public void putWithMandatoryPropagation(IgniteCache<Integer, String> cache) {
cache.put(1, "1");
}
@Transactional(propagation = Propagation.MANDATORY, readOnly = true)
public User findByUserIdWithPropagationMandatory(Integer id) {
return userRepository.findById(id);
}
@Override
@Transactional(propagation = Propagation.MANDATORY)
public Foo create(Foo entity) {
return super.create(entity);
}
@Transactional(propagation = Propagation.MANDATORY)
public Foo identity(Foo entity) {
return entity;
}
@Transactional(propagation = Propagation.MANDATORY)
public <T extends Serializable> void persist( T entity ){
em.persist(entity);
}
@Transactional(propagation = Propagation.MANDATORY)
public <T extends Serializable> T merge(T entity) {
return em.merge(entity);
}
@Transactional(propagation = Propagation.MANDATORY)
public <T extends Serializable> void remove(T entity) {
em.remove(entity);
}
@Transactional(propagation = Propagation.MANDATORY)
public long count(CriteriaQuery<Long> cq) {
return em.createQuery(cq).getSingleResult();
}