1) Du använder HQL, så du måste förstå att du inte kan ge kolumnnamn som finns i databasen i projektioner av HQL-fråga
String hql = "select user_id from login where user_name= :username and
password= :password";
Här i din inloggningsklass har du inget fält som user_id
och du gav user_id
in i projektioner.HQL mappar klass med databas, därför kommer inloggningsklassen att logga in i tabellen och användar-ID-fältet kommer att vara user_id-kolumnen i databasen. Och det du skrev är vanlig SQL-fråga inte HQL-fråga.
Använd denna HQL-fråga.
String hql="Select log.userId from Login log where log.username=:username and log.password=:password"
Här är loggen ett alias som vi gör i vanlig Java.
Login log=new Login()
log.userId