hibernate 标准(不在)

dkqlctbz  于 2023-08-06  发布在  其他
关注(0)|答案(2)|浏览(105)

请帮帮我:
我有下一张table:

单位

  • 标识符
  • 名称,名称
    用户
  • 标识符
  • 名称,名称
    费率
  • 单元ID
  • 用户id

我不明白如何从SQL创建正确的标准结构:
代码:

SELECT * FROM Unit WHERE id not in (SELECT unit_id FROM Rate WHERE user_id = 55);

字符串
我看到this的回答了。但我不明白如何使条件链接到另一个表(实体)。

btxsgosb

btxsgosb1#

看看您的标记,我认为您需要SQL查询的Criteria视图;所以假设UnitRate类:

// This is the subquery
DetachedCriteria subquery = DetachedCriteria.forClass(Rate.class)
    .add(Restrictions.eq("user_id", 55))
    .setProjection(Projections.id())

// This corresponds to (SELECT * FROM Unit WHERE id not in (subquery))
Criteria criteria = session
    .createCriteria(Unit.class)
    .add(Subqueries.notIn("id", subquery));

字符串

gc0ot86w

gc0ot86w2#

我不知道在这种情况下,IN是最合适的。尝试使用内部联接来链接表:

SELECT * FROM Unit INNER JOIN Rate ON Rate.unit_id = Unit.id 
    WHERE Rate.user_id = 55

字符串

相关问题