Kueri asli adalah kueri yang diekspresikan melalui Structured Query Language (SQL) dan merupakan metode ekspresi kueri C++ dan Java yang ringkas dan aman. Penggunaan kueri asli bermanfaat dalam pemanfaatan fitur spesifik dalam basis data, termasuk petunjuk kueri dan fitur spesifik basis data tertentu. Mereka juga berguna dalam menyediakan jalur migrasi yang bersih langsung dari aplikasi menggunakan SQL atau Java Database Connectivity (JDBC™). Kueri asli digunakan untuk memberikan hasil yang terdiri dari nilai skalar, entitas, atau keduanya. Jenis kueri ini mendukung penggunaan SQL asli pada database target.
Jenis kueri ini dapat mengatasi kekurangan antarmuka pemrograman aplikasi (API) berbasis string. Kueri semacam ini digunakan dalam database objek, di mana kegigihan objek adalah tugas umum untuk programmer dan fitur umum database. Kueri non-asli, bagaimanapun, tampak asing dalam program yang berorientasi objek karena ekspresinya berupa string sederhana dan grafik objek yang berisi string yang diselingi.
Kueri asli membantu meringankan masalah yang dihadapi dalam database dengan mengekspresikan kueri dalam Java dan C++. Kueri dapat ditulis tanpa API atau bahasa kueri yang disesuaikan. Selain itu, Lingkungan Pengembangan Terintegrasi (IDE) dapat membantu mengurangi kesalahan ketik. Kueri asli kemudian akan menjadi tipe-aman sepenuhnya dan dapat diakses oleh fitur pemfaktoran ulang IDE. Terakhir, kueri dapat dijalankan, diuji, dan dibuat prototipe terhadap koleksi memori biasa tanpa bagian belakang database.
Kueri, dan SQL yang menyertainya, belum tentu dapat ditransfer ke database lain. Setelah kembalinya banyak entitas oleh kueri asli tertentu, entitas yang sama ini harus ditentukan, serta dipetakan, ke kolom hasil dalam pernyataan SQL dalam program perangkat lunak pemetaan definisi metadata. Akibatnya, ini dapat digunakan untuk memetakan hasil JDBC dengan runtime persisten ke objek yang diharapkan. Penggunaan parameter nama tidak pernah ditentukan untuk jenis kueri ini dan aplikasi portabel hanya dapat menggunakan pengikatan parameter posisi untuk kueri SQL asli. Dukungan bergabung terbatas pada hubungan nilai tunggal.
Untuk menggunakan kueri asli, seorang programmer harus mendeskripsikan kumpulan hasil SQL. Menjelaskan kumpulan hasil membantu program seperti Entitymanager memetakan kolom ke properti entitas. Hasil skalar juga dapat ditentukan dan dicampur dengan hasil entitas lain, yang menghasilkan kembalinya kolom alias. Setelah kumpulan hasil dijelaskan, eksekusi kueri asli dimungkinkan.