1) U gebruikt HQL, dus u moet begrijpen dat u geen kolomnamen kunt geven die in de database staan in projecties van de HQL-query
String hql = "select user_id from login where user_name= :username and
password= :password";
Hier in je Login-klasse heb je geen veld als user_id
en je gaf user_id
in projecties.HQL brengt klasse in kaart met database, vandaar dat de login-klasse de login-tabel zal zijn en het userId-veld de user_id-kolom in de database zal zijn. En wat je schreef is een gewone SQL-query en geen HQL-query.
Gebruik deze HQL-query.
String hql="Select log.userId from Login log where log.username=:username and log.password=:password"
Hier is log een aliasnaam zoals we dat in gewone Java doen.
Login log=new Login()
log.userId