Java 查询始终返回0行
我不熟悉Hibernate,并尝试实现简单的本机查询,但我总是得到0行。如果在db中直接运行相同的查询,则可以查看记录Java 查询始终返回0行,java,oracle,hibernate,hibernate-native-query,Java,Oracle,Hibernate,Hibernate Native Query,我不熟悉Hibernate,并尝试实现简单的本机查询,但我总是得到0行。如果在db中直接运行相同的查询,则可以查看记录 Query query = (Query) entityManager.createNativeQuery("SELECT * FROM USER_PROFILE where ROLE_ID=:roleId " + "and USER_EMAIL =:userEmail and USER_PWD=:password");
Query query = (Query) entityManager.createNativeQuery("SELECT * FROM USER_PROFILE where ROLE_ID=:roleId "
+ "and USER_EMAIL =:userEmail and USER_PWD=:password");
query.setParameter("roleId",rolId );
query.setParameter("userEmail", username.toLowerCase());
query.setParameter("password", encryptedPwd);
userInfos = query.getResultList();
但userInfos列表总是空的。有人能告诉我哪里出了问题。谢谢大家的建议。 我在这里犯了一个错误,密码被加密了两次(
现在修复。谢谢大家的建议。 我在这里犯了一个错误,密码被加密了两次(
现在已修复。错误的数据库?您是否尝试过不使用“encryptedPwd”参数?您将加密的密码存储在数据库中?Encrypting使用类似md5的内容,可能会被截断?请提供更多详细信息。您的属性rolId、username和encryptedPwd中包含哪些值没有得到结果?请将它们也放入您的答案中您将查询更改为不带任何参数的内容,例如,
“从用户配置文件中选择*”
是否得到任何结果?以前我使用的是Hql,比如query query query=(query)entityManager.createQuery(“从UserInfo,其中userEmail=:userEmail和password=:password”);使用相同的参数,它工作正常。错误的数据库?您是否尝试过不使用“encryptedPwd”参数?您将加密的密码存储在数据库中?Encrypting使用类似md5的内容,可能会被截断?请提供更多详细信息。您的属性rolId、username和encryptedPwd中包含哪些值未得到结果?plz如果您将查询更改为不带任何参数的内容(例如,“从用户配置文件中选择*”
您是否得到任何结果?以前我使用的是Hql,比如query query query=(query)entityManager.createQuery(“从用户信息中,用户电子邮件=:用户电子邮件和密码=:密码”);在同样的论证下,它运行良好。