Executa comandos de consulta de dados (DQL) e retorna uma lista de objetos com a mesma estrutura da entidade base selecionada. 


Figura 1 - Bloco Abrir consulta nativa

Compatibilidade

  • Bloco servidor: cronapi.database.Operations.executeNativeQuery()

Retorno

Retorna a lista de objeto da entidade selecionada.

Características do bloco

Para configurar o bloco Abrir consulta nativa, clique no ícone de engrenagem do bloco (seta da Figura 2). Após esta ação, a janela Configurar Bloco de Programação será exibida permitindo a seleção de uma entidade e a configuração da instrução a ser executada. Para acessar a janela de seleção de entidade, clique no botão do destaque 1 na Figura 2. Após selecionar a entidade desejada, é possível configurar a instrução SQL a ser executada (2). No exemplo abaixo, utilizamos a instrução SELECT FROM para exibir os dados da tabela "Aluno" correspondentes ao campo "nome" que será adicionado como parâmetro no bloco.


Figura 2 - Janela Configurar Bloco de Programação

Parâmetros

Parâmetro "N"

Os parâmetros da função são exibidos após a escolha da entidade na janela Configurar Bloco de Programação e a configuração da instrução a ser utilizada. Isso implica que a cada parâmetro adicionado na instrução, um parâmetro é apresentado no bloco da função. Para adicionar um parâmetro à instrução, utilize dois-pontos ( : ) seguidos pelo nome do campo da entidade, no formato :nome-do-campo. Confira o exemplo da Figura 2.

  • Posição: 1 ou mais
  • Tipo: Depende do tipo do dado do atributo.

Exemplo

Neste exemplo, configuramos o bloco Abrir consulta nativa utilizando a instrução SELECT FROM, conforme apresentado na Figura 2. Em seguida, o resultado será impresso no console do depurador. Observe que apesar da consulta na Figura 2 solicitar apenas os campos "id" e "nome", o seu retorno (Figura 3) inclui os demais atributos da entidade com valores nulos. Isso ocorre porque o bloco converte automaticamente o resultado da consulta em um objeto correspondente aos campos da entidade.

No entanto, se antes da execução da função da Figura 3, realizarmos uma consulta SELECT * FROM Aluno, todos os valores dos atributos do objeto serão armazenados em cache. Assim, ao executar a função novamente (Figura 3), mesmo que a consulta solicite apenas campos específicos, o sistema retornará todos os atributos armazenados no cache. Isso ocorre porque, ao identificar que os dados já estão em cache, o sistema ignora a restrição de campos solicitada e utiliza os valores previamente armazenados.


Figura 3 - Exemplo de uso do bloco Abrir consulta nativa

Nesta página