我想在Hibernate中执行以下查询?
select count(*) from login where emailid='something' and password='something'
假设您的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
您正在寻找的结果。您只需要使名称适应您的类和参数名称。
结果返回 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();