O que são consultas nativas?
Consultas nativas são consultas expressas através da linguagem de consulta estruturada (SQL) e são métodos concisos e seguros de tipo de expressão de consulta C ++ e Java. O uso de consultas nativas é benéfico na utilização de recursos específicos em bancos de dados, incluindo dicas de consulta e certos recursos específicos do banco de dados. Eles também são úteis no fornecimento de caminhos limpos de migração diretamente dos aplicativos usando a conectividade do banco de dados SQL ou Java (JDBC ™). As consultas nativas são usadas para fornecer resultados que consistem em valores escalares, entidades ou ambos. Esses tipos de consultas suportam o uso do SQL nativo em um banco de dados de destino. As consultas desse tipo são usadas em um banco de dados de objetos, onde a persistência do objeto é uma tarefa comum para os programadores e um recurso comum do banco de dados. Consultas não nativas, no entanto, parecem estrangeiras em programas que são orientados a objetos devido a suas expressões serem simplesStrings e gráficos de objetos contendo strings intercalados. As consultas podem ser escritas sem uma API ou uma linguagem de consulta personalizada. Além disso, um ambiente de desenvolvimento integrado (IDE) é capaz de ajudar na redução de erros de digitação. As consultas nativas seriam seguras de tipo ao máximo e capazes de ser acessadas pelos recursos de refatoração de um IDE. Finalmente, as consultas podem ser executadas, testadas e prototipadas contra coleções simples de memória sem o final de um banco de dados.
As consultas e seu SQL que o acompanham não são necessariamente transferíveis em outros bancos de dados. Após o retorno de muitas entidades por uma consulta nativa específica, essas mesmas entidades devem ser especificadas, bem como mapeadas, para obter resultados de colunas em instruções SQL em um programa de software de mapeamento de definição de metadados. Como resultado, essasE pode ser usado para mapear os resultados do JDBC por tempo de execução persistente nos objetos esperados. O uso do parâmetro de nome nunca é definido para esses tipos de consultas e aplicativos portáteis pode usar apenas a ligação dos parâmetros posicionais para consultas SQL nativas. O apoio de junções é limitado a relacionamentos de valores únicos.
Para usar consultas nativas, um programador deve descrever um conjunto de resultados SQL. A descrição do conjunto de resultados ajuda um programa como as colunas do MAP da EntityManager nas propriedades das entidades. Os resultados escalares também podem ser definidos e misturados com outros resultados da entidade, resultando em um retorno de uma coluna de alias. Depois que os conjuntos de resultados são descritos, é possível a execução de consultas nativas.