Просто определите 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