Я пытаюсь проверить, есть ли в базе данных имя пользователя, равное переданной строке.
Это метод.
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, это правильно.
Но метод всегда возвращает 0, когда я использую userna=fabio
.
Я не могу использовать uniqueResult()
, потому что Hibernate5 не позволяет этого.
Почему?