这些是由"when field F1 is updated in table T1 do X“定义的非常简单的触发器。我使用JOOQ作为持久层,触发器被实现为。我可以看到implementation - UpdateQueryImpl (用于更新)有一个非常方便的updateMap,我可以检查它,以便找出哪些字段发生了更改,以及新值是什么。然而,我找不到任何公共方法来访问它。
我正在尝试实现一个优化锁定的通用解决方案。我想要实现的是当record的版本发生变化时运行一段特定的代码。我将它实现为一个查找DataChangedException的ExecuteListener实例。它被注册为Spring bean。#get中设置了一个断点,它看起来确实像是与LoggerListener和JooqExceptionTranslator一起使用的。:241)
at org.jooq.impl.Updatab