sql >> Base de Datos >  >> RDS >> Mysql

seleccionar consulta en hibernación con la cláusula where

1) Está utilizando HQL, por lo que debe comprender que no puede dar nombres de columnas que están en la base de datos en proyecciones de consulta HQL

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

Aquí, en su clase de inicio de sesión, no tiene un campo como user_id y diste user_id en proyecciones. La clase de mapas HQL con la base de datos, por lo tanto, la clase de inicio de sesión iniciará la tabla y el campo de ID de usuario será la columna de ID de usuario en la base de datos. Y lo que escribió es una consulta SQL simple, no una consulta HQL.

Utilice esta consulta HQL.

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

Aquí log es un nombre de alias como lo hacemos en Java simple.

Login log=new Login()
log.userId