0
我的系統中有此代碼以便讓用戶登錄系統。它在sql中使用Hibernate中的createNativeQuery。由於createCriteria已被棄用,我希望使用criteriaBuilder完成此工作。我該如何做到這一點,同時提供用戶名和密碼以匹配數據庫值?提前致謝。具有多個參數的JPA Criteria API
String sql = "Select id from login where username=:username and password=:password";
Query query = session.(sql);
query.setParameter("username", login.getUsername());
query.setParameter("password", login.getPassword());
String rs = query.getSingleResult().toString();
return rs;
我編碼直到這個。但嘗試提供多個條件時語法錯誤。
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Login> criteria = builder.createQuery(Login.class);
Root<Login> employeeRoot=criteria.from(Login.class);
criteria.select(employeeRoot);
criteria.where(builder.equal(employeeRoot.get(login.getUsername()), "username"));
只要看看LOOH在[這裏](https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/chapters/query-criteria/ Criteria.html),在「選擇一個實體」部分,你會找到答案。希望這可以幫助你。 – zombie
標準參數在此鏈接中進行了演示http://www.datanucleus.org/products/accessplatform_5_1/jpa/query.html#_criteria_api_parameters –