pentike blogja

statisztika != logika :)

ChatGPT 3.5-t megkértem, hogy mondjon példát a Flux.groupJoin()-nal kapcsolatban. (ez ilyen Spring Reactive Stream-es dolog ha valaki nem reaktív jávázik, de ez igazából tök lényegtelen)

A válasz az alábbi lett, amit nagy lendülettel el is kezdtem tanulmányozni:

Flux<Customer> customerStream = ...;
Flux<Order> orderStream = ...;

customerStream.groupJoin(
    orderStream,
    customer -> Flux.just(customer.getId()), // One customer correlates to multiple orders
    order -> Flux.just(order.getCustomerId()), // Each order correlates to just one customer
    (customer, orders) -> orders.map(order -> new CustomerOrder(customer, order))
)

A vastagított sor szemet szúrt, gondoltam megkérdem, biztos-e benne, hogy ez egy egy-sok leképezés?

A válasz:

You're correct; I apologize for the oversight. The example provided indeed represents a one-to-one mapping rather than a one-to-many or many-to-one mapping.

De mivel tökugyanazt írta le utána, megkértem, hogy emelje ki a különbséget az eredeti és a módosított leírás között. Íme az eredmény :)))))))

Differences:

  1. Correlation Function for Customers:

    • Original: Each customer correlates to just one order (Flux.just(customer.getId())).
    • Corrected: Each customer correlates to multiple orders (Flux.just(customer.getId())).