当前位置: 首页 > 面试题库 >

HQL和一对多查询

澹台宾白
2023-03-14
问题内容

我有如下所示的Hibernate域对象:

   class Player {
      List<Item> inventory;
   }

   class Item {
      List<Enchantment> enchantments;
   }

   class Enchantment {
      boolean isSuperiorEnchantment;
   }

我需要构造一个HQL查询,该查询会向我返回所有至少具有一项附有isSuperiorEnchantment标记并附有结界的物品的所有玩家的列表。我无法终生想出一种用HQL来表达这一点的方法。

有任何想法吗?


问题答案:

假设以上所有条件都适当,则您要查找的查询是:

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


 类似资料:
  • 问题内容: 我在Hibernate中具有以下一对一关系(可能为null): 我正在尝试使用HQL选择所有具有非空详细信息的实体: 但这会返回所有实体,无论详细信息是否为空。 那么正确的HQL是什么? 问题答案: 好的,我找到了解决方案:

  • 我需要以下场景的SQL查询。 @ManyToOne@JoinColumn(name=“PRODUCT_ID”)私有产品产品; 但我没有在产品中指定一个。

  • 本文向大家介绍一对一、一对多的关联查询 ?相关面试题,主要包含被问及一对一、一对多的关联查询 ?时的应答技巧和注意事项,需要的朋友参考一下

  • 问题内容: 好的,所以这可能是一个琐碎的问题,但是我在可视化和理解差异以及何时使用它们方面遇到困难。对于诸如单向和双向映射之类的概念如何影响一对多/多对多关系,我也还不清楚。我现在正在使用Hibernate,因此任何与ORM相关的解释都将有所帮助。 举例来说,我有以下设置: 那么在这种情况下,我将进行哪种映射?对于这个特定示例的答案肯定会受到赞赏,但我也确实希望获得何时使用一对多和多对多以及何时使

  • 实现了一对多的关系,它运行良好。 我的问题是当我运行下面的查询时,如果表有100个员工行,每个员工有两个部门。数据库查询被调用了101次,因为对每个员工都是调用部门查询,要完成调用全部100行需要很长时间,有没有人可以提出替代的解决方案? 输出XML:

  • 这是项目迁移 这是时间表 这样用户就可以迁移了 这是我的项目模型 这是我的时间表模型: 这是我的用户模型 现在,我从项目返回我的查询 这是可以的,但user_id用户在timesheets.user_id我不能得到它的时间表,并得到它 此控制器按时间表中的项目id返回项目和时间表,但时间表中的用户id我不知道如何将其输入系统