hibernate ilike handles queries with case including special characters

    public List<Appconfig> getConfigListByKeyword(String keyword)
    {
        try
        {
            Session session = getSession();

            Criteria criteria = session.createCriteria(Appconfig.class, "config");

            if (StringUtils.isNotBlank(keyword))
            {
                if(keyword.contains("%")){
                    keyword = keyword.replaceAll("%","\\\\%");
                }
                criteria.add(Restrictions.or(Restrictions.ilike("config.configkey", "%" + keyword + "%"), Restrictions.ilike("config.keyvalue", "%" + keyword + "%")));
            }

            return criteria.list();
        }
        catch (Exception e)
        {
            e.printStackTrace ();
        }
        return null;
    }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326178472&siteId=291194637