在我的Spring应用程序中,我有一个用org.springframework.transaction.annotation.Transactional
注释注释的类。
是否可以在不从类级别声明中删除@Transactional
的情况下丢弃此类的特定单个方法的事务?如果是,请显示示例
答案 0 :(得分:5)
ricSubscription.style.set_table_attributes(
'style="border-collapse:collapse"'
).set_table_styles([
# Rest of styles
]).render()
除了类级别注释之外,只需在方法中定义正确的属性即可禁用默认的事务处理。
示例:
`public @interface Transactional
Describes transaction attributes on a method or class.`
如果在活动事务中调用此方法,将抛出异常。而@Transactional(propagation=Propagation.NEVER)
public long notInTransaction(AnythingData anythingData) throws Exception {
//JDBC code...
}
将"暂停"当前事务并确保该方法被称为非事务性。
答案 1 :(得分:-1)
您可以通过创建自定义Exception类来完成此操作。使用下面的代码
@Transactional(rollbackFor = { CustomException.class})
现在从你需要的任何方法CustomException
transactional