在上一篇教程中,我们探讨了Querydsl Web支持的基本使用。本文将深入探讨如何访问被@CollectionElement
注解标记的集合属性,或者涉及类似@ManyToMany
关系的属性。默认情况下,Querydsl支持以下查询字符串绑定(括号内为等效的JPQL表达式):
- 单个属性值,例如:
/employee?name=Rona&dept=IT
(WHERE e.name = 'Rona' AND e.dept='IT'
) - 多个属性值,例如:
/employee?dept=IT&dept=Admin
(WHERE e.dept IN ('IT', 'Admin')
) - 简单集合的单个属性值,例如:
/employee?phones=111-111-111
(JOIN e.phones p WHERE p='111-111-111'
) - 简单集合的多个属性值,例如:
/employee?phones=111-111-111&phones=222-222-222
(WHERE '111-111-111' MEMBER OF e.phones AND '222-222-222' MEMBER OF e.phones
) - 涉及关系的集合的单个属性值,例如:
/employees?tasks.name=Coding
(JOIN e.tasks t WHERE t.name=