Как всегда включать мои фильтры Hibernate в весеннем приложении? - PullRequest
4 голосов
/ 05 апреля 2011

Имея приложение на основе стека Hibernate (3.5) / Spring (3.0) / BlazeDS / Flex, мне нужно применить фильтры для некоторых классов моего домена, как показано ниже.

@FilterDef(name="notDeletedFilter")
@Filter(name="notDeletedFilter", condition="deleted=0")
public class Item {
   private boolean deleted;
  //setter and getter
}

Эти фильтры всегда должны применяться в моем приложении. Однако согласно документации hibernate по умолчанию фильтры не включены для данного сеанса гибернации.

Так что мой вопрос очень прост: как мне включить все определенные фильтры гибернации, как указано выше, для всех сессий Hibernate ? Есть ли способ настроить фабрику Hibernate Session в файле конфигурации Spring XML для применения этих фильтров?

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Если вы используете Spring HibernateTemplate, одним из решений является его расширение и переопределение метода enableFilters.В нем явно включите нужные вам фильтры.

0 голосов
/ 08 мая 2012

Вы можете использовать AOP (аспектно-ориентированное программирование) для настройки фильтра.

...