Abrir consulta nativa
Executa comandos de consulta de dados (DQL) e retorna um objeto com sua estrutura de acordo com a entidade base selecionadauma lista de objetos que possui a mesma estrutura da entidade base selecionada, ou seja, o bloco irá projetar o resultado da consulta na entidade base selecionada.
Parâmetros de entrada
Os parâmetros
da consultado bloco mudam conforme a consulta do usuário, utilize ":nome_do_parametro
" (dois pontos) para criar parâmetros de entrada no bloco, como no exemplo da Figura 1.1.
Retorno
Retorna a lista de objeto da entidade base selecionada.
Compatibilidade
Servidor Servidor
Sobre a configuração do bloco
Ao abrir a engrenagem do bloco, será aberta a janela de configuração do bloco, nela tem-se o campo para a escolha da entidade base (1 da Figura 1.1), que é a estrutura do objeto a ser convertida e a área para informar a consulta SQL (2 da Figura 1.1).
Figura 1.1 - Configurando bloco
Exemplo
A consulta da figura 1.1 retorna uma lista contendo 1 objeto da entidade MUSICA. O objeto foi obtido com base no filtro feito pelo campo título ("Feel Me").
Figura 1.2 - Impressão do objeto retornado da consulta
Apesar da consulta na figura 1.1 solicitar apenas os campos id e titulo, o seu retorno (Figura 1.2) exibe os demais atributos da entidade (faixa e artista) com valores nulos. Isso ocorre, pois, o bloco abrir consulta nativa converte automaticamente o resultado da consulta no objeto informado no campo entidade (1 da figura 1.1).
Cache de consulta
Ao gerar a Camada de persistência no diagrama de dados, é possível desmarcar o campo desativar cache de consultas, com isso, o sistema irá armazenar o resultado de consultas em cache, evitando novas requisições de consultas iguais ao banco de dados.
Por exemplo, ao realizar a consulta SELECT * FROM MUSICA
, o sistema irá armazenar em cache todos os campos com todos os objetos dessa consulta (Figura 2.1).
Figura 2.1 - Consulta trazendo todos os dados
Ao realizar uma próxima consulta a mesma entidade, porém selecionando apenas alguns campos, por exemplo SELECT id, faixa FROM MUSICA
, serão retornados todos os atributos dos objetos. Isso ocorre, pois, o bloco abrir consulta nativa ignora os atributos não solicitados e retorna tudo que está no cache.
Figura 2.2 - Consulta trazendo todos os dados preenchidos