我有一个问题:不知道如何映射Jooq查询的结果.
我有两个实体:支付方式和货币.付款方式中包含一个列表.两者都存储在不同的表中.
我有一个:
public Optional<PaymentMethod> getMethod(Long id) {
return this.dslContext.selectFrom(PAYMENT_METHOD)
.where(
PAYMENT_METHOD.ID.eq(id),
PAYMENT_METHOD.DELETED.eq(false)
).fetchOptional().map(v -> methodDao.mapper().map(v));
还想通过以下方式获得货币:
return this.dslContext.select(asterisk())
.from(PAYMENT_METHOD)
.join(PAYMENT_METHOD_CURRENCY)
.on(PAYMENT_METHOD_CURRENCY.METHOD_ID.eq(id))
.where(
PAYMENT_METHOD.ID.eq(id),
PAYMENT_METHOD.DELETED.eq(false)
)
.fetch()
.map(...)...
那么,我该如何进一步绘制这张 map 呢?
我对另一个实体中的一个实体有一个决定,比如:
private PaymentProviderMethod mapMethod(Record record) {
final PaymentMethodRecord methodRecord = record.into(PAYMENT_METHOD);
final PaymentProviderRecord providerRecord = record.into(PAYMENT_PROVIDER);
return new PaymentProviderMethod(
methodDao.mapper().map(methodRecord),
providerDao.mapper().map(providerRecord));
但我不知道在这种情况下如何映射列表.你能帮忙吗?