首页 > 解决方案 > javers中的jql查询参数不支持不区分大小写的搜索

问题描述

Javers 中的 jql 查询参数不支持不区分大小写的搜索。如果作者姓名是 'vivek' 并且 jql 包含 'Vivek' 它不会从数据库中搜索记录。

调试导致以下查询:

SELECT state, type, version, changed_properties, managed_type, commit_pk, author, commit_date, commit_date_instant, commit_id, g.local_id, g.fragment, g.owner_id_fk, o.local_id owner_local_id, o.fragment owner_fragment, o.type_name owner_type_name
FROM jv_snapshot INNER JOIN jv_commit ON commit_pk = commit_fk INNER JOIN jv_global_id g ON g.global_id_pk = global_id_fk LEFT OUTER JOIN jv_global_id o ON o.global_id_pk = g.owner_id_fk
WHERE 1 = 1 AND author = 'Vivek'
ORDER BY snapshot_pk;

实际查询应如下所示:

SELECT state, type, version, changed_properties, managed_type, commit_pk, author, commit_date, commit_date_instant, commit_id, g.local_id, g.fragment, g.owner_id_fk, o.local_id owner_local_id, o.fragment owner_fragment, o.type_name owner_type_name
FROM jv_snapshot INNER JOIN jv_commit ON commit_pk = commit_fk INNER JOIN jv_global_id g ON g.global_id_pk = global_id_fk LEFT OUTER JOIN jv_global_id o ON o.global_id_pk = g.owner_id_fk
WHERE 1 = 1 AND lower(author) = lower('Vivek')
ORDER BY snapshot_pk;

所有搜索都应该不区分大小写。应更改 SelectBuilder 类以适应该问题。

标签: javers

解决方案


推荐阅读