1) Използвате HQL, така че трябва да разберете, че не можете да давате имена на колони, които са в базата данни в проекции на HQL заявка
String hql = "select user_id from login where user_name= :username and
password= :password";
Тук във вашия клас за влизане нямате поле като user_id
и сте дали user_id
в projections.HQL преобразува класа с база данни, следователно класът Login ще влезе в таблицата и полето userId ще бъде колона user_id в базата данни. И това, което написахте, е обикновена SQL заявка, а не HQL заявка.
Моля, използвайте тази HQL заявка.
String hql="Select log.userId from Login log where log.username=:username and log.password=:password"
Тук log е псевдоним, както го правим в обикновена Java.
Login log=new Login()
log.userId