Bee的批量插入与事务使用

BeeORM2.2版本中的事务与批量插入策略变化
文章讲述了BeeORM库在2.2版本中批量插入行为的变化,从每个批次提交事务到仅在事务结束时提交,这可能影响到业务的正确性和事务一致性。开发者需要注意配置来适应新的行为,以确保数据完整性。

 * Bee 在2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制.  
 * 
 * 2.2之前,批量插入使用每一个批次提交一次事务;
 * 这样,当违反主键约束等就忽略的大批量插入效率是很高的;
 * 但当事务中有批量插入时,不了解内部执行规则可能会对业务的正确性造成影响.
 * 所在Bee在2.2时,默认是所有批次的插入操作只提交一次,如插入100条,每批20条,2.2之前是提交了五次commit,在2.2时改为一次commit;
 * 若想在大批量插入时忽略违反约束的失败操作,使用回2.2之前的模式,可以使用配置:bee.osql.eachBatchCommit=true
 * 
 * 在2.2之前,可以将insertBatchSize设置得足够大,将所有记录在一个批次完成,即不会造成多个批次;这样,在事务中,就不会因事务分多批造成事务不准确;
 * 但因2.2之前在批处理时,会调用conn.commit();提交了事务,所以用业务逻辑调用rollback()是无效的.
 * 2.2时,使用事务时,在批处理内部不会再调用conn.commit().

package org.teasoft.exam.bee.osql.tran;

import java.util.ArrayList;
import java.util.List;

import org.teasoft.bee.osql.BeeException;
import org.teasoft.bee.osql.api.SuidRich;
import org.teasoft.bee.osql.transaction.Transaction;
import org.teasoft.honey.osql.core.HoneyConfig;
import or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值