我可以在Hibernate Filter中使用POJO吗?

时间:2014-04-21 06:04:37

标签: java hibernate pojo

我可以像这样使用Hibernate吗?

public class Employee{
  private String name;
  private String age;
  //public getters and setters
}

public class EmployeeDao{
  public List<Employee> getByFilter(Employee filter){
    //what whould I write here?
  }
}

public class Test{
  public static void main(String[] args){
    Employee employeeFilter = new Employee();
    employeeFilter.setAge(15);
    List<Employee> employeesOf15 = new EmployeeDao().getByFilter(employeeFilter);
  }
}

如果是,那么如何?

1 个答案:

答案 0 :(得分:0)

是的,在您的getByFilter()方法中,您可以编写一个简单的HQL或本机SQL查询来查找年龄等于过滤器年龄的所有员工,或者使用Hibernate's Criteria Queries,例如:

return getSession().createCriteria(Employee.class).add(Restrictions.eq("age", filter.getAge())).list();

向您的通用getByFilter()方法添加另一个参数可能是个好主意,这样您就可以按任何字段(名称,年龄等)指定过滤,然后相应地执行操作。