Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie eine Abfrage im Ruhezustand mit einer Where-Klausel aus

1) Sie verwenden HQL, daher müssen Sie verstehen, dass Sie in Projektionen der HQL-Abfrage keine Spaltennamen angeben können, die sich in der Datenbank befinden

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

Hier in Ihrer Login-Klasse haben Sie kein Feld als user_id und Sie haben user_id angegeben in die Projektionen. HQL bildet die Klasse mit der Datenbank ab, daher wird die Login-Klasse die Tabelle anmelden und das Feld userId wird die Spalte user_id in der Datenbank sein. Und was Sie geschrieben haben, ist eine einfache SQL-Abfrage, keine HQL-Abfrage.

Bitte verwenden Sie diese HQL-Abfrage.

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

Hier ist log ein Aliasname, wie wir es in einfachem Java tun.

Login log=new Login()
log.userId