Filtro Hibernate programáticamente
filter hibernate-mapping (1)
Simplemente defina un FilterDef con los parámetros que recibirá la condición del filtro:
@FilterDef(name = "smithFilter", parameters = {@ParamDef(name = "lastName", type = "string")})
@Filter(name="smithFilter", condition="LAST_NAME = :lastName")
Como también usó la palabra "programáticamente", también le conviene saber que puede establecer el parámetro basándose en otras entradas, como esta:
session.enableFilter("smithFilter").setParameter("lastName", "SMITH");
Más detalles en la documentación de Hibernate:
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#objectstate-filters
¿Cómo lograr programáticamente el mismo resultado (como lo lograría la siguiente anotación)? ¿O inyectando el valor ''SMITH'' en un archivo de configuración de primavera?
@Filter(name="smithFilter", condition="LAST_NAME = ''SMITH''")
public String getLastName()
{
return this.lastName;
}