In Java, with JPA and EclipseLink. Lets say I have 3 tables: Supplier, Order and Customer

I want to get all customers that have an order by said supplier

Say suppliers and customers are not directly linked. They can only be linked by joining through orders:

An order can have one customer
A customer can have multiple orders

An order is also linked to a supplier A supplier can have many orders
A order can have only 1 supplier

One way to do it:
In JPA once you setup your Model/Entity you can do EntityManager.find(Supplier.class, 1)

This will return the supplier and its orders, from there we can get to the orders and get all the customers linked to that supplier.

But this way fetches all the data, while we only want the Customers, nothing else, it puts strain on the DB and the client bandwith.

What is a better JPA, JPQL way to fetch only the Customers data that is linked to a supplier? I know that I can do a raw query but that kind of defeats the purpose of JPA.

Thanks in advance, Kind regards,