未来的 jOOQ 版本:
您正在寻找的是 和 的侦听器API 功能。从 jOOQ 3.0 开始还没有实现RecordUpdatableRecord
将来,此功能将允许在存储、插入、更新、删除等时向 jOOQ 的记录注入一些行为。这将包括您所请求的内容以及 jOOQ 当前对其所做的操作
record_version
record_timestamp
用于乐观锁定的列。
jOOQ 2.x 或 3.0 的解决方案:
您现在可以做的是实现 anExecuteListener并让它“检测”它是否应该变为活动状态并覆盖create_time. 这可能不得不求助于解析或至少正则表达式匹配您的 SQL 语句。
仅 SQL 的解决方案:
但是,在我看来,最好的选择create_time是为每个表编写一个触发器(Oracle 语法):
CREATE OR REPLACE TRIGGER my_trigger
BEFORE INSERT
ON my_table
REFERENCING NEW AS new
FOR EACH ROW
BEGIN
:new.create_time = SYSDATE;
END t_triggers_trigger;
这将保证无论您如何访问数据库,该值都是可用的......