We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@transactional @OverRide //是根据每一条的Task及FileID来执行这一个分解为子任务的 public Result startRuleReview(Integer id) { //1.校验 String key = RedisKeyConstants.FILE_REVIEW.concat(String.valueOf(id)); boolean lock = jedisUtils.lock(key, NumberConstants.THIRTY); if (!lock) { return Result.createError("任务锁定中"); } //RuleReviewTask task = ruleReviewTaskMapper.selectByPrimaryKey(id); JPARuleReviewTask task=jpaTaskRepository.getOne(id.longValue());
if (!ReviewTaskStateEnum.WATI_RULE_REVIEW.getState().equals(task.getStatus())) { return Result.createError("任务状态非待规则审核"); } //2.子任务创建 ruleReviewDetailMapper.delByTaskId(id); //创建之前,在子任务中,先将该主任务的id关联的记录,先删除掉.这个是异常数据检查.这个暂时用Mybtis //检查一下,在一个Transaction下,2种混合应用,可能存在的问题。如果不用,业务上需要单独将子表中的相关记录删除,但是主表的记录不动。 //下面的代码,整体上是将主任务根据manufactureid分解为子任务,并更新子任务的状态 //根据这个机构选择的规则集合,这样选择就是持久化的选择集合。也可以是每次让用户来传入这个规则集合。 List<RuleInfoDto>rules = ruleMapper.queryByDepart(task.getSysDepartId());
jpa: generate-ddl: false show-sql: true hibernate: ddl-auto: update properties: hibernate: connection: handling_mode: DELAYED_ACQUISITION_AND_HOLD event: merge: entity_copy_observer: allow open-in-view: false
问题描述 用户请求在碰到方法上的Tranaction注解的时候,会开启一个Session 然后在方法体中, 第一次 碰到Jpa dao层,开启事务,获取数据库连接,执行后不关闭 事务,但是没有关闭数据库连接。 第二次 碰到 Mybatis dao 层,根据事务传播机制,获取Jpa上获取的事务,获取数据库连接,执行后不关闭事务,没有关闭数据库连接。 方法体退出时候,关闭事务,关闭连接,关闭Session 这个理解是否正确,在jpa,与mybatis 2个dao层混用的情况下,原理得比较清楚,否则错误很难排查?
The text was updated successfully, but these errors were encountered:
需要搞清楚:数据源,连接,事务的关系。
Sorry, something went wrong.
No branches or pull requests
@transactional
@OverRide
//是根据每一条的Task及FileID来执行这一个分解为子任务的
public Result startRuleReview(Integer id) {
//1.校验
String key = RedisKeyConstants.FILE_REVIEW.concat(String.valueOf(id));
boolean lock = jedisUtils.lock(key, NumberConstants.THIRTY);
if (!lock) {
return Result.createError("任务锁定中");
}
//RuleReviewTask task = ruleReviewTaskMapper.selectByPrimaryKey(id);
JPARuleReviewTask task=jpaTaskRepository.getOne(id.longValue());
jpa:
generate-ddl: false
show-sql: true
hibernate:
ddl-auto: update
properties:
hibernate:
connection:
handling_mode: DELAYED_ACQUISITION_AND_HOLD
event:
merge:
entity_copy_observer: allow
open-in-view: false
问题描述
用户请求在碰到方法上的Tranaction注解的时候,会开启一个Session
然后在方法体中,
第一次 碰到Jpa dao层,开启事务,获取数据库连接,执行后不关闭 事务,但是没有关闭数据库连接。
第二次 碰到 Mybatis dao 层,根据事务传播机制,获取Jpa上获取的事务,获取数据库连接,执行后不关闭事务,没有关闭数据库连接。
方法体退出时候,关闭事务,关闭连接,关闭Session
这个理解是否正确,在jpa,与mybatis 2个dao层混用的情况下,原理得比较清楚,否则错误很难排查?
The text was updated successfully, but these errors were encountered: