Wat zijn native vragen?

Native Qeries zijn vragen uitgedrukt via Structured Query Language (SQL) en zijn beknopte evenals type-veilige methoden van C ++ en Java Query-expressie. Het gebruik van native query's is gunstig bij het gebruik van specifieke functies in databases, waaronder queryhints en bepaalde database-specifieke functies. Ze zijn ook handig bij het bieden van schone migratiepaden rechtstreeks vanuit applicaties met behulp van SQL- of Java -database -connectiviteit (JDBC ™). Inheemse vragen worden gebruikt om resultaten te bieden die bestaan ​​uit scalaire waarden, entiteiten of beide. Dit soort query's ondersteunen het gebruik van native SQL op een doeldatabase.

Dit soort query's kan de tekortkomingen van een string-gebaseerde applicatieprogrammeerinterface (API) overwinnen. Dit soort vragen worden gebruikt in een objectdatabase, waarbij objectbestendigheid een veel voorkomende taak is voor programmeurs en een gemeenschappelijk kenmerk van de database. Niet-native vragen lijken echter vreemd in programma's die objectgeoriënteerd zijn omdat hun uitdrukkingen eenvoudig zijnStrings en objectgrafieken die afgewisselde snaren bevatten.

Native query's helpen de problemen in databases te verlichten door een query binnen Java en C ++ uit te drukken. Vragen kunnen worden geschreven zonder een API of een aangepaste querytaal. Bovendien kan een geïntegreerde ontwikkelingsomgeving (IDE) helpen bij het verminderen van typefouten. De native vragen zouden dan typeveilig zijn en toegankelijk zijn voor de refactorefuncties van een IDE. Ten slotte kunnen de vragen worden uitgevoerd, getest en prototypeerd tegen gewone geheugencollecties zonder de achterkant van een database.

De vragen en hun bijbehorende SQL zijn niet noodzakelijkerwijs overdraagbaar in andere databases. Bij de terugkeer van veel entiteiten door een bepaalde native query moeten deze zelfde entiteiten worden gespecificeerd, evenals in kaart gebracht, tot kolomresultaten in SQL -instructies in een softwareprogramma voor het in kaart brengen van metadata -definitie. Als gevolg hiervan, dezeE kan worden gebruikt om JDBC -resultaten toe te wijzen door aanhoudende runtime in verwachte objecten. Naamparametergebruik wordt nooit gedefinieerd voor dit typen query's en draagbare toepassingen kunnen alleen binding van positionele parameters gebruiken voor native SQL -query's. Ondersteuning van joins is beperkt tot relaties van enkele waarden.

Om native query's te gebruiken, moet een programmeur een SQL -resultaatset beschrijven. Het beschrijven van de resultaatset helpt een programma zoals EntityManager Map -kolommen op eigenschappen van entiteiten. Scalaire resultaten kunnen ook worden gedefinieerd en gemengd met andere entiteitsresultaten, wat resulteert in een terugkeer van een alias kolom. Zodra het resultaatsets zijn beschreven, is de uitvoering van native query's mogelijk.

ANDERE TALEN