我有一个Hibernate DAO方法,它返回所有用户。
public List<User> getAllUsers() {
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from com.model.User");
List<User> users = query.list();
session.flush();
return users;
}
User
实体具有profession
属性。我想只查询其职业等于Developer
的用户。我怎样才能做到这一点?
答案 0 :(得分:0)
为什么不使用JAVA8 Streams来解决您的问题?
假设您正在检索用户列表,如下所示:
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from com.model.User");
List<User> users = query.list();
现在,按此专业过滤:
users = users.stream().
filter(user -> user.getProfession.equals("Developer")).collect(Collectors.toList());