3
当使用填充调用与bean的空值属性时,SQLUpdateClause有问题。它只是从生成的更新SQL中跳过空值属性,而不是将相应的字段设置为NULL。Querydsl更新子句填充跳过bean空值属性
例子:
public class Bean {
private Long id;
private String value;
private String value2;
...
}
Bean bean = ...
bean.setValue(null);
bean.setValue("value2");
SQLUpdateClause update = new SQLUpdateClause(connection, dialect, qBean);
update.populate(bean).where(qBean.id.eq(...)).execute();
会产生SQL:
update bean set value2 = 'value2' where bean.id = ...
相反的期望:
update bean set value = null, value2 = 'value2' where bean.id = ...
任何帮助这里? ......请