【问题标题】:spring data jpa transaction and statespring data jpa 事务和状态
【发布时间】:2020-09-06 06:01:40
【问题描述】:

我在 jpa 中使用 spring boot。

@Transaction
public void processXXX(Billing billing){
    Party party = getOldParty(billing);
    delete(party);
    createNewParty(billing);
}

@Transaction
public void delete(Party party){
    repository.delete(party);
}

@Transaction
public void createNewParty(Billing billing){
    ...
    repository.save(billing);
}

有没有办法确保在 createNewParty 运行之前完成删除操作?

【问题讨论】:

  • 您的删除查询是默认的delete,我认为您可以尝试自定义delete,返回类型为int,您可以检查delete(party) != 0,然后检查createNewParty(billing)

标签: spring-data-jpa spring-transactions


【解决方案1】:

是的,在deletesave 之间做一个flush

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-13
    • 2017-12-23
    • 2013-05-30
    • 2011-08-06
    • 2018-08-07
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多