У меня есть основной класс, где применяются мои критерии
Criteria criteria = manager.unwrap(Session.class).createCriteria(MyClass.class);
и у меня есть фильтр для применения критериев ограничений. Кроме того, используйте критерии в Myclass.class
в полях (id
, name
, date
), таких как
if(filter.getNameFilter()!=null && !filtro.getNameFilter().isEmpty()) {
criteria.add(Restrictions.ilike("name", "%"+filtro.getNameFilter()+"%" ));
}
У меня есть отношения между MyClass
- MyClass2
- Myclass3
Однако, MyClass3
- абстрактный класс, и мне нужно использовать ограничение в классах extends из MyClass3
public abstract MyClass3{
Integer id;
}
public mychild extends MyClass3{
String name;
}
Чтобы применить ограничение в одном поле, которое находится в myclass2
, я использовал
DetachedCriteria FilterNat = DetachedCriteria.forClass(MyClass2.class,"bonat");
и используется проекция для использования ограничения в конкретном поле в MyClass2
Но мне нужно применить ограничение в классах extends с MyClass3
. Как я могу это сделать?