java中的HQL会话

java中的HQL会话,java,hibernate,hql,Java,Hibernate,Hql,如何通过会话登录数据库获取用户?? 用户道 public用户数据集getUDSLogin(字符串登录){ session=sessionFactory.openSession(); Transaction=session.getTransaction(); transaction.begin(); Query=session.createQuery(“从UserDataSet中选择id”); List uds=query.List(); query.setParameterList(“login

如何通过会话登录数据库获取用户?? 用户道

public用户数据集getUDSLogin(字符串登录){
session=sessionFactory.openSession();
Transaction=session.getTransaction();
transaction.begin();
Query=session.createQuery(“从UserDataSet中选择id”);
List uds=query.List();
query.setParameterList(“login”,uds);//通过登录获取用户
session.getTransaction().commit();
//Restrictions.eq(“login”,login).getValue();
//session.getTransaction().rollback();
session.close();
返回(UserDataSet)uds;
}

这根本没有意义

    Query query = session.createQuery("SELECT id FROM UserDataSet ");
    List<UserDataSet> uds = query.list(); // you get all user ids
    query.setParameterList("login", uds); // you set non-existent parameter to query that already have been ran

只需将
uds.login
更改为
UserDataSet

中的任何列名,您知道此代码没有任何意义吗?usersWithGivenLogin是一个变量?什么类型?什么东西的清单。你告诉我那是什么。
    Query query = session.createQuery("SELECT id FROM UserDataSet ");
    List<UserDataSet> uds = query.list(); // you get all user ids
    query.setParameterList("login", uds); // you set non-existent parameter to query that already have been ran
 Query query = session.createQuery("SELECT id FROM UserDataSet uds WHERE uds.login:=login");
query.setParameter("login",login);
usersWithGivenLogin=query.list();