繁体   English   中英

休眠条件过滤器内部集合

[英]Hibernate criteria filter inner collection

我有以下课程/表:

用户

  • ID
  • 名称
  • works //工作清单

工作

  • ID
  • 名称
  • 用户身份

和以下代码:

Criteria criteria = session.createCriteria("User"); 
criteria.list();

返回一个User列表,其中包含与之关联的Work对象列表(通过id = user_id)。

如何修改此查询以获取相同的User列表,但有以下限制: Work List不应包括名称为'fck'的Work

这是可能的,但不是明智的做法,因为加载的用户不会反映数据库的实际状态:他们的工作清单应包含所有工作,而不仅仅是其中一些工作。 修改它们可能导致数据库中不必要的删除。

我宁愿与他们相关的用户一起加载您感兴趣的作品:

Criteria c = session.createCriteria(Work.class, "work");
c.createAlias("work.user", "user");
c.setFetchMode("work.user", FetchMode.JOIN);
c.add(Restrictions.ne("work.name", "fck"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM