【发布时间】:2017-08-02 08:08:42
【问题描述】:
我在 hibernate 4.X 版本中通过示例进行查询,但是当我尝试在 5.2 中这样做时,它的 session.createCriteria() 已被弃用。
Session session = getSession();
Admin admin = new Admin();
admin.setEmail(email);
admin.setPasswd(password);
Example adminExample = Example.create(admin);
Criteria cq = session.createCriteria(Admin.class).add(adminExample);
这是我在 5.2 中作为 criteriaQuery 的 JPA 规范(在新版本中弃用该方法的原因之一)所做的事情。详情请见here
Session session = getSession();
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Admin> criteria = builder.createQuery(Admin.class);
Root<Admin> adminRoot = criteria.from(Admin.class);
criteria.select(adminRoot);
Predicate adminPre = builder.and(builder.equal(adminRoot.get("email"), email),
builder.equal(adminRoot.get("password"), password));
criteria.where(adminPre);
List<Admin> adminList = session.createQuery(criteria).getResultList();
所以我的问题是,如何在 5.2 中使用示例查询?
【问题讨论】:
-
@jklee 我已经在我的代码中展示了新的
Criteria并且工作得很好,但我没有通过示例了解如何使用 Query。
标签: java hibernate jpa criteria criteria-api