我正在尝试使用like()
带有部分关键字的 Hibernate 的限制条件来查询 PostgreSQL 数据库:
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();
}