bboss persistent事务管理介绍 (十一)
通过使用声明式的事务,开发人员无需在代码中再嵌入事务管理的代码。如果用户即声明了事务,又在代码中嵌入了事务管理代码,那么事务管理框架根据事务类型进行相应的处理,具体的处理方法见下表:
方法实现中开启事务类型
方法声明事
务类型
NEW_TRANSACTION
REQUIRED_TRANSACTION
MAYBE_TRANSACTION
NO_TRANSACTION
NEW_TRANSACTION
屏蔽声明的事务,程序中开启一个新事务
使用声明的事务
使用声明的事务
屏蔽声明
的事务,
程序在
没有事
务的环
境下运行
REQUIRED_TRANSACTION
屏蔽声明的事务,程序中开启一个新事务
使用声明的事务
使用声明的事务
屏蔽声明
的事务,
程序在
没有事务
的环境下运行
MAYBE_TRANSACTION
如果声明的事务存在,屏蔽声明的事务,程序中开启一个新事务
如果声明的事务存在,则使用声明的事务,否则开启一个新的事务
如果声明的事务存在,则使用声明的事务,否则不需声明事务
如果声明的
事务存在,
屏蔽声明的
事务,程序在
没有事务的
环境下运行
NO_TRANSACTION
程序中开启一个新事务
程序中开启一个新事务
程序在没有事务的环境下运行
程序在没有
事务的环境
下运行
作为使用事务的一个原则,系统中不应该出现同一个方法中既使用声明式事务又在代码中编写事务管理代码的情况,这样会导致达不到预期的事务管理的效果。