13. 発行されるSQLを見てみた。
select dfloc.ADDRESS1 as ADDRESS1, dfloc. ADDRESS2 as ADDRESS2
from USER dfloc
where dfloc.ADDRESS1 || dfloc.ADDRESS2 like ‘%渋谷区西参道%' escape '|'
14. こうなってほしい
select dfloc.ADDRESS1 as ADDRESS1, dfloc. ADDRESS2 as ADDRESS2
from USER dfloc
where dfloc.ADDRESS1 || dfloc.ADDRESS2 like ‘%渋谷区西参道%' escape '|'
coalesce(dfloc. ADDRESS1,'') || coalesce(dfloc. ADDRESS2,'')
15. DBFluteのなか
このあたりでcoalesceを足せばよさそう。
public abstract class ConditionKey implements Serializable {
・
・
protected ColumnRealName resolveCompoundColumn(ColumnRealName baseRealName, ConditionOption option) {
・
・
final List<SpecifiedColumn> compoundColumnList = option.getCompoundColumnList();
final List<ColumnRealName> realNameList = new ArrayList<ColumnRealName>();
realNameList.add(baseRealName); // already cipher
for (SpecifiedColumn specifiedColumn : compoundColumnList) {
realNameList.add(doResolveCompoundColumn(option, specifiedColumn));
}
final OnQueryStringConnector stringConnector = option.getStringConnector();
final String connected = stringConnector.connect(realNameList.toArray());
return ColumnRealName.create(null, new ColumnSqlName(connected));
}
・
・
}