1

HQL正規表現キーワードで検索できる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();
}

これが誰かに役立つことを願っています

4

1 に答える 1

4

HQLには正規表現がありません。正規表現にデータベースプロバイダー固有の構造を使用する場合は、Dialectを変更する必要があります。この質問には、Oracleデータベースでこれを行う方法についての説明が含まれています。

于 2013-01-09T20:07:14.437 に答える