Les requêtes natives sont des requêtes exprimées par le langage SQL (Structured Query) et des méthodes concises ainsi que le type de sécurité du C + + et Java expression de requête. L'utilisation de requêtes natives est bénéfique dans l'utilisation de fonctionnalités spécifiques dans les bases de données, y compris les indicateurs de requête et à certaines fonctionnalités spécifiques à la base. Ils sont également utiles pour fournir des chemins propres de migration directement à partir d'applications utilisant SQL ou Java Database Connectivity (JDBC ). Requêtes natives sont utilisées pour fournir des résultats comprenant des valeurs scalaires, les entités ou les deux. Ces types de requêtes appuient l'utilisation de SQL natif sur une base de données cible.
Ces types de requêtes peuvent surmonter (API) les lacunes d'une interface de programmation d'application basée sur une chaîne. Les requêtes de ce type sont utilisées dans une base de données objet, où la persistance des objets est une tâche commune pour les programmeurs et une caractéristique commune de la base de données. Les requêtes non-indigènes, cependant, semblent étrangers à des programmes qui sont orientée objet en raison de leurs expressions étant de simples chaînes et des graphiques d'objets contenant des chaînes entremêlées.
Les questions autochtones aident à atténuer les problèmes rencontrés dans les bases de données en exprimant une requête dans Java et C + +. Les requêtes peuvent être écrites sans une API ou un langage de requête personnalisée. En outre, un environnement de développement intégré (IDE) est en mesure d'aider à la réduction de fautes de frappe. Les requêtes natives seraient alors de type sécurisé au maximum et pouvoir être consulté par les fonctionnalités de refactoring d'un IDE. Enfin, les requêtes peuvent être exécutés, testés et prototypées contre collections de mémoire plaine sans fin fond d'une base de données.
Les requêtes SQL, et leur accompagnement, ne sont pas nécessairement transférables à travers d'autres bases de données. Dès le retour de nombreuses entités par une requête native particulier, ces mêmes entités devraient être précisées, ainsi que cartographié, aux résultats des colonnes dans les instructions SQL dans un logiciel de cartographie de définition de métadonnées. En conséquence, ceux-ci peuvent être utilisés pour cartographier les résultats JDBC en exécution persistante en objets attendus. Nom paramètre utilisé n'est jamais définie pour ces types de requêtes et les applications portables ne peut utiliser la liaison de paramètres positionnels pour les requêtes SQL natives. Soutien de jointures est limité aux relations de valeurs simples.
Pour utiliser les requêtes natives, un programmeur doit décrire un jeu de résultats SQL. Décrivant l'ensemble des résultats permettent à un programme tel que carte entitymanager colonnes sur les propriétés des entités. Résultats scalaires peuvent également être définies et mélangés avec d'autres résultats de l'entité, résultant en un retour d'une colonne d'alias. Une fois les jeux de résultats sont décrits, l'exécution de requêtes natives est possible.