只读列
适用于 ❌ 开源版 ✅ Express 版 ✅ 专业版 ✅ 企业版
jOOQ 的代码生成器可能会决定一个列是只读的,在这种情况下,在各种 DML 语句中使用它可能会发生变化。 默认情况下,对此类列的INSERT
或UPDATE
操作将被简单地忽略。
INSERT INTO MY_TABLE (ID) -- READONLY_COLUMN is ignored VALUES (1);
create.insertInto(MY_TABLE) .columns(MY_TABLE.ID, MY_TABLE.READONLY_COLUMN) .values(1, 1) .execute();
这也影响任何UpdatableRecord调用
INSERT INTO MY_TABLE (ID) -- READONLY_COLUMN is ignored VALUES (1);
MyTableRecord rec = create.newRecord(MY_TABLE); rec.setId(1); rec.setReadonlyColumn(1); rec.store();
readonly
列在INSERT和UPDATE语句中的默认行为可以通过以下 4 个只读设置来覆盖
-
Settings.readonlyInsert
:readonly
列在INSERT
上下文中的行为。 -
Settings.readonlyUpdate
:readonly
列在UPDATE
上下文中的行为。 -
Settings.readonlyTableRecordInsert
:readonly
列在TableRecord.insert()
上下文中的行为。 -
Settings.readonlyUpdatableRecordUpdate
:readonly
列在UpdatableRecord.update()
上下文中的行为。
有关设置的更多详细信息,请参考关于只读设置的页面
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!