Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
对此错误的解读一般是:只读模式下 写操作不允许
具体原因是对Spring事务的理解:
Spring事务一般会对运行期外的事务进行回滚,且对@Transactional注释可配置,搭配一定的属性可达到用户的一般需求,如只读(即只查询)、事务回滚等 。
@Transactional(RollbackFor=Class.class/noRollbackFor=Class.class): 一般为遇到某种异常回滚或不会滚 这种配置适合处理在事务操作工程中对某种异常的显操作和隐操作 对数据插入的作用比较有意义。
还有就是事务传播性:
配置一般为@Transactional(propagation=Propagation.XXX):
具体属性:
REQUIRED:如果有事务,那么加入事务,没有的话新建一个
NOT_SUPPORTED:不开启事务
REQUIRES_NEW:强制创建新事务
MANDATORY:需在已有的事务中执行,否则报错
NEVER:与上一个相反
Supports:其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
还要后面有时会跟readOnly=true 只读
timeout=XX 超时
暂时这么多 以后详细补充