Mysql
 sql >> Base de données >  >> RDS >> Mysql

sélectionnez la requête en veille prolongée avec la clause where

1) Vous utilisez HQL, vous devez donc comprendre que vous ne pouvez pas donner de noms de colonnes qui se trouvent dans la base de données dans les projections de la requête HQL

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

Ici, dans votre classe de connexion, vous n'avez pas de champ en tant que user_id et vous avez donné user_id dans les projections.HQL mappe la classe avec la base de données, donc la classe de connexion se connectera à la table et le champ userId sera la colonne user_id dans la base de données.Et ce que vous avez écrit est une requête SQL simple et non une requête HQL.

Veuillez utiliser cette requête HQL.

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

Ici, log est un nom d'alias comme nous le faisons en Java ordinaire.

Login log=new Login()
log.userId