like()
部分的なキーワードでHibernate の制限基準を使用して、PostgreSQL データベースにクエリを実行しようとしています。
Criterion c1 = Restrictions.like("stateName", "Virg*");
cri.add(c1);
return cri.list();
何もRestrictions.like("stateName", "Virginia");
返さず、正しいレコードを返します。Hibernate で部分的like制限を使用するにはどうすればよいですか?
編集:
次のようなことを行うことで機能しました:
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();
}