【问题标题】:Hibernate HQL query - complicatedHibernate HQL 查询 - 复杂
【发布时间】:2009-10-22 05:04:08
【问题描述】:

我需要编写一些 HQL 来执行以下操作...

我有 3 张表:俱乐部、球队和比赛(下面是列名)

=学校= -id(pk) -名称

=团队= -id(pk) -姓名 -club_id(fk)

=游戏= -id(pk) -反对 -homeScore -awayScore -team_id(fk)

我需要选择指定俱乐部最近的 20 场比赛...

类似于:“从属于 X 俱乐部的所有球队中选择最后 20 场比赛”

有谁知道我如何在 HQL 中做到这一点?

谢谢。

【问题讨论】:

  • 使用 ICriteria 应该比使用 HQL 更容易。有类似的东西。在没有更深入的知识的情况下将它一起破解 - 无济于事。 :)
  • 在处理 HQL 时,表结构并不重要。你可以发布你的映射吗?团队游戏关系是双向的吗?校队也一样?

标签: hibernate


【解决方案1】:

它类似于(未经测试):

select g from teams t join t.games g where t.club = :club
     order by g.date

为了将结果限制在前 20 个

session.createQuery(theQuery)
     .setEntity('club',club)
     .setMaxResults(20)
     .list();

HQL 的问题在于它确实必须编写它而实际上无法运行这些东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 2011-05-18
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多