HQL和一个一对多查询(HQL and one-to-many queries)

2019-06-26 13:44发布

我有一个看起来像这样的Hibernate领域对象:

   class Player {
      List<Item> inventory;
   }

   class Item {
      List<Enchantment> enchantments;
   }

   class Enchantment {
      boolean isSuperiorEnchantment;
   }

我需要构建一个HQL查询,返回给我的是至少有一个项目与它的结界具有的所有球员名单isSuperiorEnchantment标志设置。 我不能为我的生活想出一个办法,在HQL来表达这一点。

有任何想法吗?

Answer 1:

假设上述所有的相应的映射,你要寻找的查询是:

select p
from Player as p
  left join p.inventory as i
  left join i.enchantments as e
where e.isSuperiorEnchantment = 1


文章来源: HQL and one-to-many queries
标签: hibernate hql