在此代码中,我更新了 BOOKS 行,尝试不将 TITLE 列的值设置为 null,因为 inmyPojo为 null 并且我不想覆盖它(即我尝试从更新中排除该列):
BooksRecord rec = new BooksRecord();
rec.from(myPojo);
context.update(BOOKS)
.set(rec)
.set(BOOKS.TITLE, BOOKS.TITLE)
.where(BOOKS.SK.eq(sk))
.execute();
Run Code Online (Sandbox Code Playgroud)
但这不起作用,TITLE 列设置为 null。有办法让这项工作发挥作用吗?
像这样做:
BooksRecord rec = new BooksRecord();
rec.from(myPojo);
rec.reset(BOOKS.TITLE);
rec.update();
Run Code Online (Sandbox Code Playgroud)
在执行任何进一步操作(例如 )之前,或者当您像您一样将记录的更改值复制到语句中时,调用 会Record.reset(Field)重置字段的基础标志。Record.changed()Record.update()Update