【发布时间】:2013-02-24 20:42:38
【问题描述】:
您好,我正在尝试从一个表中选择记录,该表在连接的多对多表中没有具有特定值的记录。
我将在示例表上进行解释:
documentation:
id_documentation
irrelevant_data
user:
id_user
irrelevant_data
documentation_user:
id_documentation
id_user
role
我想要实现的是选择每个没有特定角色的用户的文档。有什么想法吗?
主要问题是我使用 java 的 CriteriaBuilder 来创建查询,所以使用子查询是不可能的(我认为)。
【问题讨论】:
-
也许这... 是否有可能在 ON 子句中添加更多连接条件?例如:select * from documentation d left join documentation_user du ON d.id_documentation = du.id_documentation AND du.role = 2;
-
是的,从 Hibernate 3.5.0 开始就可以了。见this fix
-
您能告诉我如何使用 CriteriaBuilder 实现这一目标吗? Root
u = select.from(Documentation.class); Join dul = u.join("documentationUserCollection", JoinType.LEFT);
标签: java mysql many-to-many criteria-api