我正在尝试创建一个子查询,该子查询将采用 DetachedCriteria,该 DetachedCriteria 从包含实体条目的连接表中进行选择;本质上我想通过连接表查看实体是否有任何关联。
根据传递的 boolean 值,我将向条件添加 exists
或 notExists
子查询。
基本上我想在这个sql中使用子查询:
select * from A as leftEntity where not exists (select * from A_B where A = leftEntity.id);`
并创建一个独立的标准。我无法找出要传递来创建分离条件的正确实体 - 我正在尝试在联接表上执行某些操作,而不是实体 A 或 B。我将如何执行此操作?
最佳答案
我放弃了使用 DetachedCriteria 的尝试,只是在条件上使用了 sqlRestriction;
criteria.add(Restrictions.sqlRestriction("存在(从 a_b 中选择一个,其中 a = {alias}.id)"));
关于java - Hibernate 子查询将 DetachedCriteria 应用到 ManyToMany 连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208144/