寻求帮助在loopback4中实现事务管理。使用 ms-sql 数据库和 loopback-connector-mssql 作为连接器。
我正在使用 DefaultTransactionalRepository 扩展存储库。
下面是我在控制器中编写的代码。
1. const addressTransaction = await this.addressRepo.beginTransaction();
2. const address = await this.addressRepo.create(addressObj);
3. addressTransaction.rollback()
问题是,我在第 2 行创建的记录在第 3 行之后没有恢复,也没有错误。我也在第 1 行得到 addressTransaction 对象。以上 3 行只是一个例子。moto 是我想恢复在第 2 行插入的数据。
如果我将下面的代码执行到 DB 中,它工作得很好。记录正在回滚。
BEGIN TRANSACTION
INSERT into addresses(ADDRESS_CITY,ADDRESS_STATE) values('123','1234')
ROLLBACK
但有些连接器无法正常工作。
我检查了 DBA,看起来我们没有在上面的事务中设置implicit_transactions。有谁知道如何设置implicit_transactions。
我执行交易的方式有任何问题吗?好心的帮助