Definición previa y agrupación de un conjunto de columnas para una consulta
Puede seleccionar y agrupar columnas para utilizarlas en la búsqueda de una consulta (select/list) añadiendo un parámetro QueryGroup en la definición de entidad.
Cada QueryGroup contiene las columnas que se utilizarán para una consulta. Cada QueryGroup se identifica mediante un nombre exclusivo mediante el que deben especificarse las columnas.
Se proporciona una correlación global QueryGroupMap en la clase Entity, que contiene un nombre de grupo de consulta exclusivo y los atributos correspondientes a las columnas del grupo de consulta. Esta correlación se llena cuando se carga el repositorio de entidades.
Cada entidad puede tener varios grupos de consulta, que se definen bajo un parámetro QueryGroups:
<Entity>
<QueryGroups>
<QueryGroup Name="PasswordQueryGroup">
<Column Name="PASSWORD"/>
<Column Name="IS_PASSWORD_ENCRYPTED"/>
<Column Name="SALT"/>
</QueryGroup>
<QueryGroup Name="BusinessQueryGroup">
<Column Name="BUSINESS_KEY"/>
<Column Name="CONTACTADDRESS_KEY"/>
<ColumnName="BILLINGADDRESS_KEY"/>
</QueryGroup>
</QueryGroups>
</Entity>Bajo el grupo de consulta se puede especificar cualquier número de columnas. Sin embargo, las columnas no deben repetirse para un grupo de consulta.
public Set getColumnSetForQueryGroup(String queryGroupName)- selectWithWhereForQueryGroup
- listWithWhereForQueryGroup
public YFS_User selectWithWhereForQueryGroup(YFCDBContext ctx,
String aWhereClause, String queryGroupName) throws YFCDBException{
Set columns = getColumnSet(queryGroupName);
return selectWithWhere(ctx, aWhereClause, columns);
}