我想只更新已更新的字段(它们不会为null)。 我想创建一个动态集,例如(不是有效的代码):
dslContext.update(table)
if(field1 != null) {
.set(field1, val1)
}
if(field2 != null) {
.set(field2, val2)
}
.where(condition1)
.and(condition2)
.execute();
有办法做到这一点吗?
答案 0 :(得分:1)
虽然您可以通过(ab)使用DSL API实现这一点,但实际执行此操作的最佳方法是使用以下方法之一:
使用Record
的示例:
Record record = dslContext.newRecord(table);
if (field1 != null)
record.set(field1, val1)
if (field2 != null) {
record.set(field2, val2)
dslContext.update(table)
.set(record)
.where(condition1)
.and(condition2)
.execute();