我想在 Hibernate 中执行以下查询?
select count(*) from login where emailid='something' and password='something'
答案 0 :(得分:63)
假设login
表由LoginClass
类映射,并带有emailid
和password
个实例变量。然后你将执行类似的事情:
Query query = session.createQuery(
"select count(*) from LoginClass login where login.emailid=:email and login.password=:password");
query.setString("email", "something");
query.setString("password", "password");
Long count = (Long)query.uniqueResult();
它应该在count
中返回您要查找的结果。您只需要根据类和参数名称调整名称。
答案 1 :(得分:1)
结果返回 BigDecimal,您需要将其从 Bigdecimal (java.math.BigDecimal) 转换为 Long 以免出错,他的解决方案是:
Query query = session.createSQLQuery(
"select count(*) from login where login.emailid=:email and login.password=:password");
query.setString("email", "something");
query.setString("password", "password");
Long count = ((BigDecimal) query.uniqueResult()).longValue();
答案 2 :(得分:-1)
其他解决方案可能是createSQLQuery(“ SQL STATEMENT”)(如果您不得不 祝你好运