【发布时间】:2021-07-13 04:18:50
【问题描述】:
我有以下疑问:
Map<BusinessRecord, List<BusinessAddressRecord>> resultMap = dslContext
.select()
.from(BUSINESS.leftJoin(BUSINESS_ADDRESS).on(BUSINESS.ID.eq(BUSINESS_ADDRESS.BUSINESS_ID)))
.where(BUSINESS.IDENTIFIER.equal(identifier))
.and(BUSINESS_ADDRESS.DEACTIVATED_AT.isNull())
.fetchGroups(
b -> b.into(BUSINESS),
a -> a.into(BUSINESS_ADDRESS)
);
不幸的是,如果公司没有列出地址,这将返回 null,我设法解决了这个问题:
Map<BusinessRecord, List<BusinessAddressRecord>> resultMap = dslContext
.select()
.from(BUSINESS.leftJoin(BUSINESS_ADDRESS).on(
BUSINESS.ID.eq(BUSINESS_ADDRESS.BUSINESS_ID).and(BUSINESS_ADDRESS.DEACTIVATED_AT.equals(null))
))
.where(BUSINESS.IDENTIFIER.equal(identifier))
.fetchGroups(
b -> b.into(BUSINESS),
a -> a.into(BUSINESS_ADDRESS)
);
但这是在说“和”
and(BUSINESS_ADDRESS.DEACTIVATED_AT.equals(null))
已弃用,有什么替代方案?
【问题讨论】: