Mysql
 sql >> база данни >  >> RDS >> Mysql

изберете заявка в хибернация с клауза where

1) Използвате HQL, така че трябва да разберете, че не можете да давате имена на колони, които са в базата данни в проекции на HQL заявка

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

Тук във вашия клас за влизане нямате поле като user_id и сте дали user_id в projections.HQL преобразува класа с база данни, следователно класът Login ще влезе в таблицата и полето userId ще бъде колона user_id в базата данни. И това, което написахте, е обикновена SQL заявка, а не HQL заявка.

Моля, използвайте тази HQL заявка.

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

Тук log е псевдоним, както го правим в обикновена Java.

Login log=new Login()
log.userId


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL изчислява средна стойност на броене

  2. MYSQL - Как да заобиколите ограничението за размера на реда от 66 KB

  3. Търсене на частични IP адреси, съхранени като цели числа

  4. Създаване на грешка за задействане:невалиден синтаксис

  5. PDO - lastInsertId() за заявка за вмъкване с множество редове