一尘不染

Hibernate正则表达式

hibernate

我正在尝试构建一个可以通过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();
}

希望这可以帮助某人


阅读 644

收藏
2020-06-20

共1个答案

一尘不染

HQL没有正则表达式。如果要将特定于数据库提供程序的构造用于正则表达式,则应修改Dialect。该问题包含有关如何使用Oracle数据库执行此操作的讨论。

2020-06-20