5

¿Cómo lograr programáticamente el mismo resultado (como lo conseguiría la siguiente anotación)? ¿O inyectando el valor 'SMITH' en un archivo de configuración de primavera?Filtro de Hibernación Programáticamente

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

Respuesta

4

Sólo definen un FilterDef con los parámetros de la condición de filtro recibirá:

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

Como también se usó la palabra "programación", también puede querer saber que se puede establecer el parámetro basado en otros insumos, así:

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

Cuestiones relacionadas