gpt4 book ai didi

grails - 是否可以持久保存列表中的所有对象,但失败的对象除外。如果是,怎么办?

转载 作者:行者123 更新时间:2023-12-02 15:48:49 26 4
gpt4 key购买 nike

我的目标是防止在发生运行时异常的情况下从列表回滚所有对象。

我有两个 Realm 类(class)

class Payment {
String orderNo;
String transactionId;
String orderTotal;
Date paymentDate;
}

class Order extends {
static hasMany = [items: ItemModel];
String orderNo;
String customerNumber;
Date orderDate;
}

当我遍历Order对象列表时,
在侧面createOrder()中创建Order的新实例
然后我调用makePayment()在其中创建Payment的新实例。

如果没有异常(exception),它将很好地工作。

但是,如果在保存“付款”实例时发生异常,它将回滚“付款”和“订单”的所有实例。

我该如何解决。

最佳答案

如果您创建付款的代码(可能是服务?)是最 secret 的东西,即使您只看一小部分样本,也很难提出建议。

但是无论如何,您都可以尝试将@Transactional注释添加到整个服务类中而不是整个方法中:

@Transactional
public someMethod() {
//some logic
}

public createPayment() {
//the logic that you're afraid to share
}

因此,不应回退createPayment()方法。

关于grails - 是否可以持久保存列表中的所有对象,但失败的对象除外。如果是,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com