Scenario: the same lookup, but through findWithItemsAndCustomerById (an @EntityGraph fetch), for an order with 1 item and an order with 5 items. statements for 1-item order: 1 statements for 5-item order: 1 Both are the same number — an entity graph turns the collection fetch into a single outer-join SELECT, so the statement count stops depending on item count. This is the fix for scenario 02, and it is also the shape Spring Data JDBC gives you by default with no annotation at all (see docs/05).