Java:createQuery 返回 null

标签 java mysql spring hibernate

我正在尝试使用用户的电子邮件返回用户的 ID,因此我的 dao 类中有一个方法应该返回用户的 ID,并且该方法将电子邮件作为参数:

public int trouverUtil( String email ) {
    // TODO Auto-generated method stub
    Query req = em.createQuery("select u.id_utilisateur from Utilisateur u where u.mail = :x");
    req.setParameter("x",email);
    return  req.getFirstResult();
}

但是当我执行应用程序并尝试打印 trouverUtil 方法的结果时,我得到“0”。知道为什么吗?

最佳答案

方法 getFirstResult() 不返回 id
看看这里 getFirstResult()

要返回 ID,您必须调用 req.getResultList()

List<Long> ids = req.getResultList();
return ids.get(0);

关于Java:createQuery 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29073540/

相关文章:

mysql - PentahoSystem.ERROR_0014

java - 单击按钮时 Spring 安全性检查用户是否已登录

java - 不调用重写的 equals

java - 如何检查自动旋转屏幕设置是否在 Android 4.0+ 中打开/关闭

mysql - 如何生成动态交叉表查询

mysql - 从内部连接中检索不同的记录

java - Spring DataSourceTransactionManager 未提交

java - Spring MVC - 如何为我的 resttemplate 使用不同的超时?

java - HTTP Get 请求 - 程序停止

java - 如何将 PrintWriter 转换为字符串或写入文件?