删除查询中的HQL别名

时间:2011-10-26 12:35:05

标签: hql hql-delete

我想知道SQL的hql模拟:

delete license from license, license_pool 
where license.license_pool_id = license_pool.license_pool_id 
    and license.school_id = 13 
    and license_pool.program_id = 1 
    and license.staff_member_id is null

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但这是你的答案。这可以在“DML样式操作”部分(与HQL更新和删除有关)的hibernate文档中找到。

  • 在from子句中,FROM关键字是可选的
  • 在from子句中只能有一个实体。它可以, 但是,别名。如果实体名称是别名,则为任何属性 必须使用该别名限定引用。如果实体名称是 没有别名,那么任何属性引用都是非法的 合格。
  • 可以在批量HQL中指定隐式或显式的无连接 查询。子查询可以在where子句中使用,其中 子查询本身可能包含连接。 where子句也是 可选的。