JPA2.0引入了一个全新的构建查询的条件API,它标准化了存在于专用持久化产品中的许多编程功能
不仅仅是从JPQL到编程接口的字面量转换,而且它还采用了专用模型的编程最佳实践,如方法链(method chaining)
下面是一个简单的示例:
CriteriaBuilder builder = this.manager.getCriteriaBuilder();
CriteriaQuery<User> query = builder.createQuery(User.class);
Root<User> root = query.from(User.class);
query.select(root).where(builder.equal(root.get("name"),"zhangsan"));
this.manager.createQuery(query).getResultList();
一次条件查询使用了以下成员组件:
AbstractQuery<T>提供from方法来定义抽象架构类型,,它将形成查询的基础。该方法接受一个实体类型作为参数,并把一个新的根添加到查询中。