I have Hibernate domain objects that looks like this:
class Player { List inventory; } class Item { List
Assuming the appropriate mappings on all of the above, the query you're looking for is:
select p from Player as p left join p.inventory as i left join i.enchantments as e where e.isSuperiorEnchantment = 1