Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证电子邮件是否为';t在JPA注册_Jpa - Fatal编程技术网

验证电子邮件是否为';t在JPA注册

验证电子邮件是否为';t在JPA注册,jpa,Jpa,因此,我正在为一个网站创建一个注册页面,希望它检查数据库中是否已经有电子邮件(或用户名)。我让我所有的其他验证工作,但由于某种原因,这永远不会返回真实 以下是对emailExist()的查询(使用easyCriteria): 我相信在处理这个问题的方式上有问题 因此错误出现在emailExist方法中。我把它改成了下面的代码,一切都很好 public boolean emailExist(String emailString) { QAccount_ qaccount

因此,我正在为一个网站创建一个注册页面,希望它检查数据库中是否已经有电子邮件(或用户名)。我让我所有的其他验证工作,但由于某种原因,这永远不会返回真实

以下是对emailExist()的查询(使用easyCriteria):


我相信在处理这个问题的方式上有问题

因此错误出现在
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;
        }
    }