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的主要内容,如果未能解决你的问题,请参考以下文章