1) Bạn đang sử dụng HQL, vì vậy bạn cần hiểu rằng bạn không thể cung cấp các tên cột có trong cơ sở dữ liệu trong các phép chiếu của truy vấn HQL
String hql = "select user_id from login where user_name= :username and
password= :password";
Ở đây trong lớp Đăng nhập của bạn, bạn không có trường là user_id
và bạn đã cung cấp user_id
vào lớp bản đồ HQL với cơ sở dữ liệu, do đó lớp Đăng nhập sẽ đăng nhập bảng và trường userId sẽ là cột user_id trong cơ sở dữ liệu. Và những gì bạn đã viết là truy vấn SQL thuần túy không phải truy vấn HQL.
Vui lòng sử dụng truy vấn HQL này.
String hql="Select log.userId from Login log where log.username=:username and log.password=:password"
Đây là tên bí danh giống như chúng ta làm trong Java thuần túy.
Login log=new Login()
log.userId