Predefinindo e agrupando um conjunto de colunas para uma consulta
É possível selecionar e agrupar colunas para serem usadas em uma procura de consulta (selecionar/listar) incluindo um parâmetro QueryGroup na definição da entidade.
Cada QueryGroup contém as colunas a serem usadas para uma consulta. Cada QueryGroup é identificado por um nome exclusivo sob o qual as colunas devem ser especificadas.
Uma mapa global QueryGroupMap é fornecido na classe de Entidade, que contém um nome de grupo de consultas exclusivo e atributos correspondentes para as colunas do grupo de consultas. Esse mapa é preenchido quando o repositório da entidade é carregado.
Cada entidade pode ter diversos grupos de consultas como esse, que são definidos sob um 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>Qualquer número de consultas pode ser especificado sob o grupo de consultas. Porém, as colunas não devem ser repetidas para um grupo de consultas.
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);
}