36

我想在Hibernate中执行以下查询?

select count(*) from login where emailid='something' and password='something'

4

2 回答 2

86

假设您的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您正在寻找的结果。您只需要使名称适应您的类和参数名称。

于 2013-06-29T19:12:11.490 回答
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();
于 2021-03-24T12:52:50.827 回答