SORM 框架:whereContains

Posted

技术标签:

【中文标题】SORM 框架:whereContains【英文标题】:SORM Framework: whereContains 【发布时间】:2014-11-16 17:54:53 【问题描述】:

是否可以过滤字符串列中包含特殊子字符串的行?像.whereContains("name", "Pavel") 这样的表达式会抛出异常:Exception: Filter "Contains" is not supported for mapping "String"。当然,我可以轻松使用 scala 过滤器,但 DB 应该做得更好,不是吗?

【问题讨论】:

【参考方案1】:

似乎在whereContains 中,路径应该引用某个集合,例如,如果您在某个实体的一组嵌套名称中搜索名称。

您想要的是使用whereLike("name", "Pavel"),它使用用于子字符串匹配的SQL LIKE 子句。

【讨论】:

谢谢!现在我还有一个问题:我可以创建与 SQL 等效的 SORM:WHERE s.name LIKE "Pavel" OR s.phone LIKE "12345" 语法问题抱歉:) 好的,从sorm.Dsl我们可以访问sorm.Querier函数的dsl快捷方式,所以我的过滤器现在看起来像.where(("name" like filter) or ("phone" like filter)),如documentation中所述。

以上是关于SORM 框架:whereContains的主要内容,如果未能解决你的问题,请参考以下文章

SORM 框架:whereContains

启动使用 SORM 框架的 Scala 项目时出错

使用 sorm 框架仅获取一个字段

SORM 框架的实现

SORM框架01

手写SORM(simple object relation mapping)框架2—接口设计