我正在尝试构建一个可以通过HQL regex关键字进行搜索的API,
编辑:在HQL中执行正则表达式搜索的最佳方法是使用条件Restrictions.like()或Restrictions.ilike()。
public static List<Object> createQueryAnd(Criteria cri, ArrayList<Parameters> list) { for (Parameters p : list) { String value = (String) p.value; if (value.contains("*")) { value = value.replace("*", "%"); } else { value += "%"; } Criterion c1 = Restrictions.ilike(p.property, value); cri.add(c1); } return cri.list(); }
希望这可以帮助某人
HQL没有正则表达式。如果要将特定于数据库提供程序的构造用于正则表达式,则应修改Dialect。该问题包含有关如何使用Oracle数据库执行此操作的讨论。