Have you tried something like the following yet? That would be the proper way from the JPA spec perspective, but I am not sure if Hibernate optimizes this to only join the necessary tables.
SELECT h FROM Holder h LEFT JOIN FETCH TREAT(h.elements AS B) e
|