ORDER BY using Criteria API

后端 未结 5 1231
醉酒成梦
醉酒成梦 2020-12-24 00:23

When I write a HQL query

Query q = session.createQuery(\"SELECT cat from Cat as cat ORDER BY cat.mother.kind.value\");
return q.list();

Eve

5条回答
  •  天涯浪人
    2020-12-24 00:58

    This is what you have to do since sess.createCriteria is deprecated:

    CriteriaBuilder builder = getSession().getCriteriaBuilder();
    CriteriaQuery q = builder.createQuery(User.class);
    Root usr = q.from(User.class);
    ParameterExpression p = builder.parameter(String.class);
    q.select(usr).where(builder.like(usr.get("name"),p))
      .orderBy(builder.asc(usr.get("name")));
    TypedQuery query = getSession().createQuery(q);
    query.setParameter(p, "%" + Main.filterName + "%");
    List list = query.getResultList();
    

提交回复
热议问题