此jpql查询有什么问题?(JPA)
|
您能帮我在我的应用程序的登录方法的JPQL查询中找到错误吗?
// Login
public boolean saveUserState(String email, String password) {
// 1-Send query to database to see if that user exist
Query query = em
.createQuery(\"SELECT r FROM Role r WHERE r.email=:emailparam r.password=:passwordparam\");
query.setParameter(\"emailparam\", email);
query.setParameter(\"passwordparam\", password);
// 2-If the query returns the user(Role) object, store it somewhere in
// the session
Role role = (Role) query.getSingleResult();
if (role != null && role.getEmail().equals(email)
&& role.getPassword().equals(password)) {
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().put(\"userRole\", role);
// 3-return true if the user state was saved
return true;
}
// 4-return false otherwise
return false;
}
执行时出现此错误:
严重:JSF1073:
javax.faces.event.AbortProcessingException
在处理过程中被抓到
INVOKE_APPLICATION 5:
UIComponent-ClientId = j_idt13:j_idt17,
Message = / WEB-INF / templates / BasicTemplate.xhtml
@ 61,63
actionListener = \“#{securityController.logIn()} \”:
javax.ejb.EJBException严重:
/WEB-INF/templates/BasicTemplate.xhtml
@ 61,63
actionListener = \“#{securityController.logIn()} \”:
javax.ejb.EJBException
javax.faces.event.AbortProcessingException:
/WEB-INF/templates/BasicTemplate.xhtml
@ 61,63
actionListener = \“#{securityController.logIn()} \”:
javax.ejb.EJBException
.....................引起
通过:
java.lang.IllegalArgumentException:一个
创建一个
EntityManager中的查询:异常
说明:语法错误解析
查询[SELECT r FROM Role r WHERE
r.email =:emailparam,
r.password =:passwordparam],第1行
第46列:[,]处的语法错误。
内部异常:
MismatchedTokenException(79!=-1)
没有找到相关结果
已邀请:
2 个回复
浅镁
枫湃揩乾纲
或
喜欢: