You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用QueryCriteriaUtils实现Corda忽略大小写的字段查询?

实现Corda中忽略大小写的字段查询

要解决原查询区分大小写的问题,你可以利用Corda Criteria API提供的lower()函数,将数据库字段和查询值统一转换为小写后再进行比较,这样就能实现忽略大小写的匹配了。

直接修改你的代码如下:

searchCriteria = builder {
    // 将数据库中的customerName转为小写,同时把查询的名称列表也转成小写
    lower(BondContract.BondEntity::customerName).`in`(listOf(name1, name2).map { it.lowercase() })
}

原理说明:

  • lower(BondContract.BondEntity::customerName):这个调用会告诉Corda在查询时将数据库里customerName字段的所有值转换为小写,Corda会自动适配不同底层数据库的LOWER()函数语法,无需担心数据库兼容性问题。
  • listOf(name1, name2).map { it.lowercase() }:把你要查询的名称列表也统一转成小写,确保字段值和查询值的比较基准完全一致。

如果是单个值的相等查询,逻辑也是一样的:

searchCriteria = builder {
    lower(BondContract.BondEntity::customerName).equal(targetName.lowercase())
}

这种方法不需要修改数据库表结构(比如把列改成不区分大小写的类型),完全通过Corda原生API实现通用的忽略大小写查询。

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:09:17