Mysql
 sql >> Database >  >> RDS >> Mysql

seleziona la query in ibernazione con la clausola where

1) Stai usando HQL, quindi devi capire che non puoi fornire nomi di colonne che sono nel database nelle proiezioni della query HQL

 String hql = "select user_id from login where user_name= :username and  
            password= :password";

Qui nella tua classe di accesso non hai campo come user_id e hai fornito user_id in projections.HQL mappa la classe con il database, quindi la classe Login accederà alla tabella e il campo userId sarà la colonna user_id nel database. E quello che hai scritto è una semplice query SQL non una query HQL.

Si prega di utilizzare questa query HQL.

String hql="Select log.userId from Login log where log.username=:username and log.password=:password"

Qui log è un nome alias come facciamo in Java semplice.

Login log=new Login()
log.userId