gpt4 book ai didi

hibernate - 来自 Hibernate Criteria API 的 LIKE 限制

转载 作者:行者123 更新时间:2023-12-03 22:46:37 26 4
gpt4 key购买 nike

我正在尝试使用 Hibernate 的限制条件查询 PostgreSQL 数据库 like() 带有部分关键字:

Criterion c1 = Restrictions.like("stateName", "Virg*");
cri.add(c1);

return cri.list();

除了 Restrictions.like("stateName", "Virginia");,它什么都不返回返回正确的记录。如何在 Hibernate 中使用部分类似限制?

编辑:
通过做这样的事情让它工作:
public static List<Object> createQueryStringByRegex(Criteria cri, Parameters p) {
String value = (String) p.value;
if (value.contains("*")) {
value = value.replace("*", "%");
} else {
value += "%";
}
// System.out.println("Value: "+value);
Criterion c1 = Restrictions.ilike(p.property, value);
cri.add(c1);

return cri.list();

}

最佳答案

使用枚举 MatchMode为您提供帮助:

Criterion c1 = Restrictions.like("stateName", "Virg", MatchMode.START);

不要使用任何特殊字符,例如 *。如果你想要一个不区分大小写的像,使用 ilike .

关于hibernate - 来自 Hibernate Criteria API 的 LIKE 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14264513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com