希望每个人都很酷。我一直试图用spring-hibernate做一些事情,但它仍然是一个失败。我很新。我需要一点帮助。假装一个POJO类Users.i想要返回用户名对象的用户对象。通过执行此操作,我可以通过id返回Users对象
return (Users) getHibernateTemplate().get(Users.class, id);
对我来说,通过用户名获取Users对象似乎是一个挑战。我试过这个
List<Users> users = getHibernateTemplate().find("from Users u where u.username=?",username);
return users.get(0);
甚至这个
return (Users)getHibernateTemplate().find("from Users u where u.username=?",username).get(0);
我应该怎么做。返回一个Users对象数组和/或List.Thanks读取它的正确方法是什么。
答案 0 :(得分:2)
试试这个
Query q = session.createQuery("select * from Users u where u.username=:username");
q.setString("username", username);
答案 1 :(得分:1)
也许你可以试试这个?
List l =getHibernateTemplate().find("from Users u where u.username=?",new Object[]{username});
if (l.size() > 0)
return (User)l.get(0);
else
return null;
答案 2 :(得分:1)
另一种更好的方法是使用Criteria。请参阅下面的示例。
DetachedCriteria deCriteria = DetachedCriteria.forClass(User.class, "u");
Criteria criteria = deCriteria.getExecutableCriteria(session);
criteria.add(Restrictions.eq("u.username", username));
List<User> userList = criteria.list();