【问题标题】:translate sql to criteriaBuilder将sql翻译成criteriaBuilder
【发布时间】:2020-04-10 13:17:09
【问题描述】:
select * 
from db_object o 
where o.value not like all (array ['%'||chr(32)||chr(32)||'%', '%'||chr(9)||'%', '%'||chr(10)||'%', '%'||chr(13)||'%'])

大家好,我现在不知道如何在 CriteriaBuilder 中更改 sql 请求。我被困在这条线上:

where o.value not like all (array ['%'||chr(32)||chr(32)||'%', '%'||chr(9)||'%', '%'||chr(10)||'%', '%'||chr(13)||'%'])

我将非常感谢您的帮助或至少提供有趣材料的链接。

【问题讨论】:

    标签: java sql hibernate criteria hibernate-criteria


    【解决方案1】:

    也许对某人有帮助

    CriteriaBuilder builder = session.getCriteriaBuilder();
    CriteriaQuery<BaseObject> criteria = builder.createQuery(BaseObject.class);
    Root<BaseObject> rootCriteria = criteria.from(BaseObject.class);
    List<Predicate> criteriaList = new ArrayList<>();
    criteriaList.add(builder.like(rootCriteria.get("value"), "%  %"));
    criteriaList.add(builder.like(rootCriteria.get("value"), "%\n%"));
    criteriaList.add(builder.like(rootCriteria.get("value"), "%\t%"));
    criteriaList.add(builder.like(rootCriteria.get("value"), "%\r%"));
    criteria.select(rootCriteria).where(
            builder.or(criteriaList.toArray(new Predicate[criteriaList.size()]))
    ).orderBy(builder.asc(rootCriteria.get("objectId")));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 2019-05-09
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多