Java 避免SQL谓词中的%和u

Java 避免SQL谓词中的%和u,java,hazelcast,Java,Hazelcast,当搜索词包含%、'、\等时,以下用于搜索地图中微粒数据的代码不起作用 StringBuilder fullQuery=新建StringBuilder()。 append(“名称类似\')。append(searchWord)。 追加“%\”; 列表人员=(列表)人员地图 .value(新的SqlPredicate(fullQuery)); 如何使用这些符号进行实际匹配 类Hazelcast SQL查询没有Hibernate之类的变量绑定。你必须自己去做。您可能希望将语句存储在常量中,并使用St

当搜索词包含%、'、\等时,以下用于搜索地图中微粒数据的代码不起作用

StringBuilder fullQuery=新建StringBuilder()。
append(“名称类似\')。append(searchWord)。
追加“%\”;
列表人员=(列表)人员地图
.value(新的SqlPredicate(fullQuery));

如何使用这些符号进行实际匹配

类Hazelcast SQL查询没有Hibernate之类的变量绑定。你必须自己去做。您可能希望将语句存储在常量中,并使用String::format替换变量

StringBuilder fullQuery= new StringBuilder().
                 append("Name like \'").append(searchWord).
                 append("%\'");

List<Person> persons = (List<Person>) personMap
                .values(new SqlPredicate(fullQuery));