我有以下代码示例,它返回我的数据库中的朋友列表使用Hibernate并且它可以工作但我知道更改函数传递给用户的String。如何更改以下代码以返回用户名与我传入的字符串匹配的所有朋友?
public List<Friend> listFriends()
{
return (List<Friend>) sessionFactory.getCurrentSession()
.createCriteria(Friend.class).list();
}
答案 0 :(得分:3)
有几种方法可以做到这一点。第一个也是最直接的是使用限制。
public List<Friend> listFriends(String userName) {
return (List<Friend>) sessionFactory.getCurrentSession()
.createCriteria(Friend.class)
.add(Restrictions.eq("userName", userName) )
.list();
}
另一种方法是使用一个例子。
public List<Friend> listFriends(String userName) {
Friend friend = new Friend();
friend.setUserName(userName);
return (List<Friend>) sessionFactory.getCurrentSession()
.createCriteria(Friend.class)
.add(Example.create(friend))
.list();
}