tôi đang cố gắng để truy vấn postgres sử dụng tiêu chí hibernate/Hạn chế like
với từ khóa phần:Hibernate Hạn chế Giống như
Criterion c1 = Restrictions.like("stateName", "Virg*");
cri.add(c1);
return cri.list();
Nó không trả lại bất cứ điều gì nhưng Restrictions.like("stateName", "Virginia");
lợi nhuận kỷ lục đúng. Làm cách nào để sử dụng các hạn chế một phần như trong chế độ ngủ đông?
EDIT: Got nó làm việc bằng cách làm một cái gì đó như thế này:
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();
}
không sử dụng 'ilike' phụ thuộc vào nếu DB bên dưới có hỗ trợ không? I E. Postgres hỗ trợ ilike nhưng những người khác có thể không? – mmcrae
Tôi tin rằng không, ít nhất là không có bất cứ điều gì về nó trong tài liệu. Có lẽ Hibernate tự cung cấp tính năng này. –
Vì lợi ích của câu hỏi của mình, nên 'MatchMode' là' MatchMode.START'? – DanielK