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 –