我在hibernate 4.X版本中通過示例進行了查詢,但是當我在5.2中嘗試這樣做時,它的session.createCriteria()
已被棄用。在Hibernate 5.2中通過示例查詢
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 JPA規範criteriaQuery
(中棄用在新版本的方法的原因之一)怎麼辦。看到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使用查詢的例子嗎?
使用新的標準,而不是傳統http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#criteria – jklee
@jklee我已經在我的代碼中顯示了新的'標準「,並工作得很好,但我沒有得到如何使用它的例子查詢。 –