验证电子邮件是否为';t在JPA注册
因此,我正在为一个网站创建一个注册页面,希望它检查数据库中是否已经有电子邮件(或用户名)。我让我所有的其他验证工作,但由于某种原因,这永远不会返回真实 以下是对emailExist()的查询(使用easyCriteria):验证电子邮件是否为';t在JPA注册,jpa,Jpa,因此,我正在为一个网站创建一个注册页面,希望它检查数据库中是否已经有电子邮件(或用户名)。我让我所有的其他验证工作,但由于某种原因,这永远不会返回真实 以下是对emailExist()的查询(使用easyCriteria): 我相信在处理这个问题的方式上有问题 因此错误出现在emailExist方法中。我把它改成了下面的代码,一切都很好 public boolean emailExist(String emailString) { QAccount_ qaccount
我相信在处理这个问题的方式上有问题 因此错误出现在
emailExist
方法中。我把它改成了下面的代码,一切都很好
public boolean emailExist(String emailString) {
QAccount_ qaccount = new QAccount_();
JPAQuery query = new JPAQuery(entityManager);
List<Account> accounts = query.select(qaccount)
.where(qaccount.email.eq(emailString))
.getResultList();
if (accounts.size() > 0) {
return true;
} else {
return false;
}
}
public boolean emailExist(字符串emailString){
QAccount_uqaccount=新的QAccount_uqcount();
JPAQuery query=新的JPAQuery(entityManager);
列表帐户=查询。选择(qaccount)
.where(qaccount.email.eq(emailString))
.getResultList();
如果(accounts.size()>0){
返回true;
}否则{
返回false;
}
}
对不起!更新了问题:)嗯,好的。谢谢你的帮助!我在学校做这个项目,我们被告知添加一个名为EasyCriteria的依赖项来帮助JPA标准API。至少我终于找到了添加自定义验证器的方法。这是一个很好的方法还是你会推荐一个更好的方法?谢谢你的帮助!我现在已经设法解决了。您是对的,错误出现在emailExist()
方法中。我改为只返回一个答案,让它返回所有匹配帐户的列表,然后检查列表的大小。如果列表大于零,则电子邮件/用户名已被占用。我希望可以,但我不知道其他方法的问题是什么。
public boolean emailExist(String emailString) {
QAccount_ qaccount = new QAccount_();
JPAQuery query = new JPAQuery(entityManager);
List<Account> accounts = query.select(qaccount)
.where(qaccount.email.eq(emailString))
.getResultList();
if (accounts.size() > 0) {
return true;
} else {
return false;
}
}