我有一个带有 25 个可选参数的动态搜索。HQl 不是一个选项。我正在使用标准 API。我有 DAO 方法,我想接受可以在我的服务层中构建的“限制”列表,这样,当我从服务中调用我的 DAO 方法时,如下所示:
Lits<myPojoClass> = myDAO.getDataByCriterion( <?Restriction List?> )
myDAO.getDataByCriterion 可以使用“限制列表”,如下所示:
inside the myDAO class
Public List<myPojoClass> getDataByCriterion( <?Restriction List?> restrictionList) {
Session s = HibernateUtil.currentSession();
Criteria c = s.createCriteria(myPojo.class)
.add(Restrictions ( <?Restriction List?> ); //attach the list here
List<myPojoClass> response = c.list();
这似乎是你应该能够做的事情。是否可以添加传递给 DAO 方法的限制