我有使用事务在Kotlin中编写的Jooq代码,有时我希望一个方法可以作为一个拥有自己事务的顶级操作独立工作,而其他时候希望它与相同的交易。例如,我有两个较低级别的函数actionAbc和actionXyz我想将它们组合成不同的高级数据方法并继承它们的事务(如果存在),否则有自己的。我知道在Spring或其他框架中可以添加注释来验证“需要事务”或“如果没有则创建事务”类型的功能。但是我如何在不使用这些库的情况下对Jooq+Kotlin做同样的事情呢?我想出的最接近的方法是将事务作为可选参数传入,如果丢失,则将其默认为新事务。但是如果有人忘记传递事务,那么使用新的顶级且不相关的事务会出现