Alkuperäiset kyselyt ovat rakenteellisten kyselykielen (SQL) kautta ilmaistuja kyselyitä, ja ne ovat ytimekkäitä ja tyyppiturvallisia C ++-ja Java-kyselylausekkeiden menetelmiä. Alkuperäisten kyselyjen käytöstä on hyötyä tietokantojen tiettyjen ominaisuuksien, kuten kyselyvinkkien ja tiettyjen tietokantakohtaisten ominaisuuksien, hyödyntämisessä. Niistä on hyötyä myös puhtaiden siirtopolkujen tarjoamisessa suoraan sovelluksista, jotka käyttävät SQL- tai Java -tietokantayhteyttä (JDBC ™). Alkuperäisiä kyselyitä käytetään tuottamaan tuloksia, jotka koostuvat skalaariarvoista, kokonaisuuksista tai molemmista. Tämäntyyppiset kyselyt tukevat natiivin SQL: n käyttöä kohdetietokannassa.
Tämäntyyppiset kyselyt voivat korjata merkkijonopohjaisen sovellusohjelmointirajapinnan (API) puutteet. Tällaisia kyselyitä käytetään objektitietokannassa, jossa objektin pysyvyys on ohjelmoijien yhteinen tehtävä ja tietokannan yhteinen piirre. Muut kuin alkuperäiset kyselyt näyttävät kuitenkin vierailta ohjelmissa, jotka ovat objektiorientoituneita, koska niiden lausekkeet ovat yksinkertaisia merkkijonoja ja objektikaavioita, jotka sisältävät välissä olevia merkkijonoja.
Alkuperäiset kyselyt auttavat lievittämään tietokantoihin kohdistuvia ongelmia esittämällä kyselyn Java- ja C ++ -sovelluksissa. Kyselyt voidaan kirjoittaa ilman sovellusliittymää tai mukautettua kyselykieltä. Lisäksi integroitu kehitysympäristö (IDE) voi auttaa kirjoitusvirheiden vähentämisessä. Alkuperäiset kyselyt olisivat tällöin täysin tyyppiturvallisia ja niitä voitaisiin käyttää IDE: n uudelleenmuokkausominaisuuksilla. Lopuksi kyselyt voidaan suorittaa, testata ja prototyypata tavallisia muistikokoelmia vastaan ilman tietokannan takaosaa.
Kyselyt ja niihin liittyvä SQL eivät välttämättä ole siirrettävissä muihin tietokantoihin. Kun tietyt alkuperäiset kyselyt palauttavat monia entiteettejä, nämä samat entiteetit on määritettävä ja yhdistettävä sarakkeen tuloksiin SQL -lausekkeissa metatietojen määrityskartoitusohjelmassa. Tämän seurauksena niitä voidaan käyttää JDBC -tulosten kartoittamiseen jatkuvan ajon aikana odotettuihin objekteihin. Nimiparametrien käyttöä ei koskaan määritetä tämän tyyppisille kyselyille, ja kannettavat sovellukset voivat käyttää vain sijaintiparametrien sitomista alkuperäisiin SQL -kyselyihin. Liitosten tuki rajoittuu yksittäisten arvojen suhteisiin.
Jos haluat käyttää alkuperäisiä kyselyjä, ohjelmoijan on kuvattava SQL -tulosjoukko. Tulosjoukon kuvaaminen auttaa ohjelmaa, kuten Entitymanager, kartoittamaan sarakkeet entiteettien ominaisuuksiin. Skaalaritulokset voidaan myös määrittää ja sekoittaa muiden entiteettitulosten kanssa, mikä johtaa alias -sarakkeen palauttamiseen. Kun tulosjoukot on kuvattu, alkuperäisten kyselyiden suorittaminen on mahdollista.