Domače poizvedbe so poizvedbe, izražene s strukturiranim jezikom poizvedb (SQL) in so jedrnate ter tipsko varne metode izraza poizvedbe C++ in Java. Uporaba domačih poizvedb je koristna pri uporabi posebnih funkcij v zbirkah podatkov, vključno z namigi za poizvedbe in nekaterimi značilnostmi, specifičnimi za bazo podatkov. Uporabne so tudi pri zagotavljanju čistih poti migracije neposredno iz aplikacij z uporabo SQL ali Java Database Connectivity (JDBC™). Domače poizvedbe se uporabljajo za zagotavljanje rezultatov, sestavljenih iz skalarnih vrednosti, entitet ali obojega. Te vrste poizvedb podpirajo uporabo domačega SQL v ciljni bazi podatkov.
Te vrste poizvedb lahko premagajo pomanjkljivosti aplikacijskega programskega vmesnika (API), ki temelji na nizih. Tovrstne poizvedbe se uporabljajo v objektni bazi podatkov, kjer je obstojnost objektov običajna naloga programerjev in skupna značilnost baze podatkov. Tuje poizvedbe pa se zdijo tuje v programih, ki so objektno usmerjeni, ker so njihovi izrazi preprosti nizi in objektni grafi, ki vsebujejo vmesne nize.
Domače poizvedbe pomagajo ublažiti težave, s katerimi se soočajo baze podatkov, tako da izrazijo poizvedbo v Javi in C++. Poizvedbe je mogoče napisati brez API-ja ali prilagojenega poizvedovalnega jezika. Poleg tega lahko integrirano razvojno okolje (IDE) pomaga pri zmanjševanju tipkarskih napak. Domorodne poizvedbe bi bile nato v celoti varne za tipe in do njih bi lahko dostopale funkcije preoblikovanja IDE. Končno, poizvedbe je mogoče zagnati, testirati in izdelati prototip za navadne pomnilniške zbirke brez zadnje strani baze podatkov.
Ni nujno, da se poizvedbe in njihov spremljevalni SQL prenesejo na druge baze podatkov. Po vrnitvi številnih entitet z določeno izvorno poizvedbo je treba te iste entitete navesti in preslikati v rezultate stolpcev v stavkih SQL v programskem programu za preslikavo definicij metapodatkov. Posledično se ti lahko uporabljajo za preslikavo rezultatov JDBC z trajnim izvajalnim časom v pričakovane objekte. Uporaba parametra imena ni nikoli definirana za te vrste poizvedb in prenosne aplikacije lahko uporabljajo samo vezavo pozicijskih parametrov za izvorne poizvedbe SQL. Podpora spojin je omejena na razmerja posameznih vrednosti.
Za uporabo izvornih poizvedb mora programer opisati niz rezultatov SQL. Opis nabora rezultatov pomaga programu, kot je Entitymanager, preslikati stolpce v lastnosti entitet. Skalarne rezultate je mogoče tudi definirati in pomešati z rezultati drugih entitet, kar ima za posledico vrnitev stolpca vzdevka. Ko so nabori rezultatov opisani, je možna izvedba domačih poizvedb.