Ahm*_*han 5 typeorm nestjs typeorm-activerecord
我已经阅读了 typeorm 中的事务。
@Transaction()
save(user: User, @TransactionRepository(User) userRepository: Repository<User>) {
return userRepository.save(user);
}
Run Code Online (Sandbox Code Playgroud)
我有一个带有多个模块和服务的 nestjs 应用程序。我需要做的是在事务中调用不同的服务方法。但@TransactionRepository为我提供了repository. 那么我应该怎么做才能实现在其中调用多个服务方法的事务。喜欢
class Module3Service{
constructor(
private readonly module1service: Moudle1Service,
private readonly module2service: Module2Service
){}
@Transaction()
save() {
this.module1service.create()
this.module2service.create()
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何实现它。如果我错了,可能的解决方案是更改模块服务依赖项(module1service 依赖项 => module1repositoroy)以更改为我们从@TransactionRepository(Module1Enity) module1repository: Repository<Module1Entity>tranction 方法内部获得的新存储库实例,如果我错了,也请纠正我。或任何其他解决方案请帮助
我正在使用 postgres
在单元测试期间你会遇到麻烦@Transaction()。
我会推荐Typeorm 的管理器 getManager().transaction( () => { ... } ) ,它不需要特定的存储库。在提供的回调中执行的所有内容都.transaction将在单个事务下。
| 归档时间: |
|
| 查看次数: |
2035 次 |
| 最近记录: |