Фильтр гибернации программно - PullRequest
5 голосов
/ 10 марта 2011

Как программно достичь того же результата (как и следующая аннотация)? Или добавить значение «SMITH» в конфигурационный файл пружины?

@Filter(name="smithFilter", condition="LAST_NAME = 'SMITH'")
public String getLastName()
{
    return this.lastName;
}

1 Ответ

4 голосов
/ 10 марта 2011

Просто определите FilterDef с параметрами, которые получит условие фильтра:

@FilterDef(name = "smithFilter", parameters = {@ParamDef(name = "lastName", type = "string")})
@Filter(name="smithFilter", condition="LAST_NAME = :lastName")

Поскольку вы также использовали слово «программно», вам также может потребоваться узнать, что вы можете установить параметр на основе других входных данных, например:

session.enableFilter("smithFilter").setParameter("lastName", "SMITH");

Подробнее в документации по Hibernate:

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#objectstate-filters

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...