I have a trouble: can't figure out how to map result of Jooq query.
I have 2 entities: Payment method and Currency for it. Payment method contains a List inside. Both are stored in different tables.
I get one:
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));
And want to get currencies too, by using a:
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(...)...
So, how can I map this further?
I have a decision for a single entity inside other, like that:
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));
But have no idea how to map list in this case. Could u help, please?