【发布时间】:2019-05-06 18:41:44
【问题描述】:
我正在尝试检查数据库中是否存在与传递的字符串相等的用户名。 这就是方法。
public boolean alredyTakenUsername(String userna) {
int numb = 0;
s = sessionFactory.openSession();
try {
String sql = "SELECT COUNT(*) FROM User where User.username= :usern";
Query query = s.createQuery(sql);
query.setParameter("usern",userna);
numb = ((Number)query.getSingleResult()).intValue();
if (numb == 1)
return true;
else
return false;
}catch (Exception e){
e.printStackTrace();
} finally {
s.close();
}
return false;
}
我将用户名和查询放入数据库:
select count(*) from User where username='fabio'
表:
USER( username CHAR(20),
pass CHAR(40),
loggedstatus BOOLEAN,
PRIMARY KEY(username));
它返回 1 是正确的。
但是当我使用userna=fabio 时,该方法总是返回 0。
我不能使用uniqueResult(),因为 Hibernate5 不允许。
为什么?
【问题讨论】: