what's the correct way to map jsonb record into custom data type? just like normal table fields.
create table t_order
(
id serial
constraint t_order_pk
primary key,
key varchar(255) not null,
value jsonb not null
);
create unique index t_order_id_uindex
on t_order (id);
create index t_order_value_index
on t_order using gin (value);
@Data
@Builder
class Order {
private List<OrderItem> orderItems;
@Data
@Builder
public static class OrderItem {
private BigDecimal price;
private BigDecimal quantity;
}
}
@Test
void findOrderById() {
var order =
dsl.select(T_ORDER.VALUE)
.from(T_ORDER)
.where(T_ORDER.ID.eq(1))
.fetchOptionalInto(Order.class); // OOPS!
assertTrue(order.isPresent());
log.info(order);
}