作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个 Appointment
表和一个 Person
表,其中一个 Appointment
有许多 Person
。
如果我想查找列表中至少包含一个人的所有约会,我会这样做:
Collection<Person> personsList = getInterestedPersons();
BooleanExpresssion expr = appointment.persons.any().in(personsList)
但是,我真正想要的是找到包含我列表中所有人员的所有约会。
那么,我如何构造一个 BooleanExpression
来过滤拥有所有人员的所有约会?
注意:我必须创建一个 BooleanExprsesion,因为这是约会的更大通用过滤器的一部分,其中所有 BooleanExpression 都通过 and() 组合在一起。
另一个注意事项,我不知道如何找到仅那些人的约会,至少至少列表中的所有人。
最佳答案
在这种情况下,我想以下应该有效:
BooleanBuilder personClause = new BooleanBuilder();
for (Person person : personList)
{
personClause.and(appointment.persons.contains(person));
}
query.where(personClause); // to add the clause
关于java - 使用 QueryDSL,如何在子项匹配所有条件的集合上创建表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39791159/
我是一名优秀的程序员,十分优秀!