Co jsou nativní dotazy?
Nativní dotazy jsou dotazy vyjádřené prostřednictvím jazyka Structured Query Language (SQL) a jsou stručné a typově bezpečné metody výrazů dotazů C ++ a Java. Použití nativních dotazů je prospěšné při využití určitých funkcí v databázích, včetně tipů na dotazy a určitých funkcí specifických pro databázi. Jsou také užitečné při poskytování čistých cest migrace přímo z aplikací využívajících SQL nebo Java Database Connectivity (JDBC ™). Nativní dotazy se používají k poskytování výsledků sestávajících ze skalárních hodnot, entit nebo obou. Tyto typy dotazů podporují použití nativního SQL v cílové databázi.
Tyto typy dotazů mohou překonat nedostatky řetězcových aplikačních programovacích rozhraní (API). Dotazy tohoto druhu se používají v databázi objektů, kde vytrvalost objektů je běžným úkolem programátorů a běžnou funkcí databáze. Nepřirozené dotazy se však v programech, které jsou objektově orientované, jeví cizí, protože jejich výrazy jsou jednoduché řetězce a objektové grafy obsahující rozptýlené řetězce.
Nativní dotazy pomáhají zmírnit problémy, kterým čelí databáze, vyjádřením dotazu v jazycích Java a C ++. Dotazy lze psát bez rozhraní API nebo přizpůsobeného jazyka dotazu. Integrované vývojové prostředí (IDE) je navíc schopno přispět ke snížení překlepů. Nativní dotazy by pak byly plně bezpečné pro daný typ a mohly by k nim být přistupovány refaktorové funkce IDE. A konečně mohou být dotazy spuštěny, testovány a prototypovány proti kolekcím prosté paměti bez zadního konce databáze.
Dotazy a jejich doprovodné SQL nemusí být nutně přenositelné napříč jinými databázemi. Po návratu mnoha entit konkrétním nativním dotazem by měly být tyto stejné entity specifikovány a mapovány tak, aby výsledkem sloupců byly příkazy SQL v softwarovém programu mapování definice metadat. V důsledku toho mohou být použity k mapování výsledků JDBC podle trvalé runtime na očekávané objekty. Použití parametru názvu není pro tyto typy dotazů nikdy definováno a přenosné aplikace mohou používat vázání pozičních parametrů pro nativní dotazy SQL. Podpora spojení je omezena na vztahy jednotlivých hodnot.
Pro použití nativních dotazů musí programátor popsat sadu výsledků SQL. Popis sady výsledků pomáhá programu, jako jsou sloupce map Entitymanager, na vlastnosti entit. Skalární výsledky mohou být také definovány a smíchány s výsledky jiných entit, což vede k návratu sloupce aliasu. Jakmile jsou sady výsledků popsány, je možné provést nativní dotazy.