Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jooq,插入时填充字段值,类似于记录时间戳_Java_Sql_Jooq - Fatal编程技术网

Java jooq,插入时填充字段值,类似于记录时间戳

Java jooq,插入时填充字段值,类似于记录时间戳,java,sql,jooq,Java,Sql,Jooq,我的数据库中的每个表都有以下固定列: 记录版本 记录时间戳 创造时间 多亏了jooq,record_版本和record_时间戳被自动处理 是否可以集中化和自动化创建时间的维护? 在内部,jooq已经在管理前两个特殊字段 我可以在某个地方放置一个处理程序来填充create_time值吗? 这样,我就可以删除一些样板代码来初始化这个字段 每个表上都有另一个字段:按账户更新;无论如何,如果我能够管理前面提到的字段(创建时间),我想我也会处理这个字段 提前感谢未来jOOQ版本: 您要查找的是for记

我的数据库中的每个表都有以下固定列:

  • 记录版本
  • 记录时间戳
  • 创造时间
多亏了jooq,record_版本和record_时间戳被自动处理

是否可以集中化和自动化创建时间的维护? 在内部,jooq已经在管理前两个特殊字段

我可以在某个地方放置一个处理程序来填充create_time值吗? 这样,我就可以删除一些样板代码来初始化这个字段

每个表上都有另一个字段:按账户更新;无论如何,如果我能够管理前面提到的字段(创建时间),我想我也会处理这个字段

提前感谢

未来jOOQ版本: 您要查找的是for
记录
可更新记录
。截至jOOQ 3.0,它尚未实施

将来,当jOOQ的记录被存储、插入、更新、删除等时,此功能将允许向jOOQ的记录注入一些行为。这将包括您请求的内容以及jOOQ当前使用其

  • record\u版本
  • 记录时间戳
用于乐观锁定的列

jOOQ 2.x或3.0的解决方案: 您现在可以做的是实现一个,让它“检测”是否应该变为活动状态,并覆盖
create\u time
的绑定值。这可能需要借助于解析,或者至少是与SQL语句匹配的正则表达式

仅限SQL的解决方案: 但是,我认为,
create\u time
的最佳选择是为每个表编写一个触发器(Oracle语法):

创建或替换触发器my_触发器
插入前
在我的桌子上
将新引用为新
每行
开始
:new.create_time=SYSDATE;
结束t_触发器\u触发器;

这将保证无论您如何访问数据库,该值都可用…

谢谢Lukas。JOOQ3.1有发布计划吗?没有,还没有。无论如何,我不确定这个特殊的特性是否真的能进入JOOQ3.1。。。