JPA的Criteria组装SQL,不懂,求大神帮忙理解

祥子哥哥 发布于 2014/06/11 15:31
阅读 1K+
收藏 0
private Root<T> getRoot(CriteriaQuery<?> criteriaQuery, Class<T> cls)
  {
    if ((criteriaQuery != null) && (criteriaQuery.getRoots() != null) && (cls != null))
    {
      Iterator iterator = criteriaQuery.getRoots().iterator();
      while (iterator.hasNext())
      {
        Root root = (Root)iterator.next();
        if (cls.equals(root.getJavaType()))
          return (Root<T>) root.as(cls);
      }
    }
    return null;
  }
 
这一段是不是:在sql里面类似select o from person o,getRoot方法是这个sql返回的所有数据集合对象吧?
 
构造谓词的时候这段代码对应的sql里面是什么意思?貌似我记得conjunction()是where后面1=1?
criteriaQuery.getRestriction()这个是指的啥?
Predicate localPredicate = criteriaQuery.getRestriction() != null ? criteriaQuery.getRestriction() : localCriteriaBuilder.conjunction();
大神能不能讲解下上面代码的大概每行意思,新人没玩过criteria、
 
加载中
返回顶部
顶部