可用版本:Dev (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16

只读列

适用于 ❌ 开源版   ✅ Express 版   ✅ 专业版   ✅ 企业版

列可能是只读的原因有很多,包括

  • 如果数据库产品支持,则该列被正式标记为 READONLY
  • 该列来自视图,并且整个视图或仅该特定列不可更新。
  • 用户缺少对该列的 INSERT 和/或 UPDATE 授权。
  • 该列是使用 [ GENERATED ALWAYS ] AS <expression> 计算的 (DEFAULT 列不是只读的)
  • 存在阻止写入该列的触发器。

jOOQ 的代码生成器可以检测到其中一些情况,并将列标记为只读,这意味着该列在 DML 语句中不会被考虑,例如 INSERTUPDATE,或 UpdatableRecord CRUD 调用。 要配置此类只读列的运行时行为,请参阅相关的 关于只读列的部分

也可以使用合成只读列配置手动将列标记为只读。

限制

readonly 标志是生成的org.jooq.DataType 的属性。 因此,只能对使该标志可用于 jOOQ 的表达式强制执行该属性。 例如,如果您使用的是plain SQL 模板,而没有传递启用 readonly 标志的 DataType,则无法强制执行。 另请参阅需要代码生成的功能以获取更多详细信息。

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的意见!

The jOOQ Logo