Queries e Índices

Durante o desenvolvimento da sua aplicação você pode sentir a necessidade de customizar algumas consultas. Você pode deixá-las prontas na entidade e usar apenas a sua key durante o desenvolvimento.

Criar consultas prontas(Queries), facilitará a organização do seu projeto, evitando códigos SQL complexos em seu código-fonte.

Queries

A edição de Queries permite que você defina algumas opções como: Key, FK, Final e Módulo, além obviamente do código SQL.

Edição de QueriesEdição de Queries

Edição de Queries

A Key da Query é a chave que deverá ser utilizada no desenvolvimento da sua aplicação quando desejar utilizar a Query.

A opção FK é utlizada em Formulários V1 para carregar opções em uma Lista Suspensa.

Ao selecionar o módulo, é possível exportar essa Query somente quando esse módulo for publicado.

A opção Final faz com que qualquer versão anterior dessa Query seja modificada quando essa versão for publicada no ambiente. Isso deverá ser utilizado em projetos que são Fork de outros projetos.

Na consulta SQL, é possível utilizar alguns coringas como o #CRITERIA#, com isso é possível montar consultas dinâmicas.

Palavras-Chave:

#CRITERIA#
Essa palavra-chave é substituída por critérios de busca construídos através dos Helpers de Data Access.

#ds_field_name#
Utilize o nome do seu campo entre # para montar uma consulta com critérios fixos, mas onde você pode fornecer o valor, por exemplo:

Query:
SELECT ID_LIVRO, DS_LIVRO FROM BIB_LIVRO WHERE DS_LIVRO LIKE #nome_do_livro# ORDER BY DS_LIVRO

Utilizando a Query:
require("inpaas.core.entity.dao").getDao("BIB_LIVRO").filter({ "nome_do_livro": "Harry%" }).find("my.query.key");

Índices

A criação de índices pode ser necessária para prover uma melhor performance para sua aplicação.

Índices da EntidadeÍndices da Entidade

Índices da Entidade

Não é objetivo dessa documentação detalhar as melhores práticas na criação de índices. Dependendo do tamanho da sua aplicação será necessária uma análise minuciosa da sua aplicação para entender o comportamento e melhorar a experiência e performance.

Através da tela de entidade é possível montar índices, selecionando campos e regras.

Campos do ÍndiceCampos do Índice

Campos do Índice

A opção Único do índice serve como uma regra de validação da sua aplicação. No caso acima, essa regra garante que não serão cadastrados dois registros com o mesmo nome, essa regra pode ser válida por exemplo em alguns casos como CPF, CNPJ ou até mesmo Endereço de E-Mail.