GBase 8a
其他
问答

SpringBoot项目方法内使用 声明式事务注解后,方法内批量保存或者更新,提示 Can't lock table: 错误

发表于2024-05-15 14:07:2269次浏览5个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】: 8a

【操作系统】: centos7

【CPU】:   任何

【问题描述】*:  SpringBoot项目方法内使用 声明式事务注解后,方法内批量保存或者更新,提示 Can't lock table: 错误
  请问如果不适用事务,那面对批量执行失败 的情况下如何回滚? 或者请说明一下如果让在事务下支持批量保存或者更新,谢谢

评论

登录后才可以发表评论
用户头像
GBase社区管理员发表于 2年前

您好,gbase8a目前支持弱事务,一个事务中仅支持一个dml操作,每个事务执行完需要按照数据库默认配置自动提交。您提的这类场景,一般我们建议将变化的数据先加载到临时表中,然后使用能确定数据唯一性的字段,将临时表和正式表进行关联批量删除,之后再将变化数据插入到正式表中。

最佳回答
GBase用户16101发表于 2年前
@社区管理员:感谢您的回复,除了 8a,另外两种数据库也是只支持弱事务嘛?
用户头像
小鱼不吐泡泡发表于 2年前
@GBase用户16101:8a是分析型OLAP数据库,其余两款均为事务型数据库,能支持完善的ACID事务能力
GBase用户16101发表于 2年前
@小鱼不吐泡泡:感谢您的回复, 祝您生活愉快
沉香发表于 2个月前
学习下。