Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ArrayList<Object> search(String searchedClass, ArrayList<DTOCriteria> criteriaList) {
- Criteria cr = null;
- try {
- cr = HibernateUtil.getSession().createCriteria(Class.forName("entidades." + searchedClass), searchedClass.toLowerCase());
- } catch (ClassNotFoundException e) {
- System.out.println("Error creating criteria. " + e);
- }
- if (criteriaList != null) {
- for (DTOCriteria criteria : criteriaList) {
- String attribute = criteria.getAttribute();
- String operation = criteria.getOperation();
- Object value = criteria.getValue();
- switch (operation) {
- case "=":
- cr.add(Restrictions.conjunction(Restrictions.eq(attribute, value)));
- break;
- case "<":
- cr.add(Restrictions.conjunction(Restrictions.lt(attribute, value)));
- break;
- case ">":
- cr.add(Restrictions.conjunction(Restrictions.gt(attribute, value)));
- break;
- case "<=":
- cr.add(Restrictions.conjunction(Restrictions.le(attribute, value)));
- break;
- case ">=":
- cr.add(Restrictions.conjunction(Restrictions.ge(attribute, value)));
- break;
- case "<>":
- cr.add(Restrictions.conjunction(Restrictions.ne(attribute, value)));
- break;
- case "contains":
- //Every collection have to be named: classList
- //Generate the collection name using the viariable "attribute"
- String list = String.valueOf(attribute.charAt(0))
- .toLowerCase() + attribute.substring(1) + "List"; //ex: materialList
- cr.createAlias(list, "list")
- .add(Restrictions.conjunction(Restrictions.eq("list.OID"
- + searchedClass, ((entidades.Entity) value).getOid())));
- break;
- }
- }
- }
- return (ArrayList) cr.list();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement