我们在 grails 应用程序上有一个搜索页面。此页面需要能够基于许多属性动态构建查询。
例如:
- “查找电子邮件用户,例如 bob.smith@%”
- “查找电子邮件等于“john.smith@gmail.com”的用户
- “查找属于组 x 的用户”
- “查找 id 为 42 的用户”
- “查找名称如“Jason P%”的用户
如果这是一个 Java 应用程序,我会使用休眠条件 API。标准 API 的一个问题是它使任意连接成为不可能。
那么有没有办法像这样动态构建查询?如果可以动态修改 GORM 中的标准 API 是否可行,或者我可以使用完全不同的方法。