JPA NamedQuery – Parametresiz sorgular

Named Query dipnotu kullanımını inceliyor olacağız.Named Query dipnotu projelerimizde sorgular yürütebilmemize olanak verir.Projelerimizde bir orm aracı kullanmak yerine jdbc ile kendimiz sorgular yazarak işleri yaptığımızda sorugulara ve yürütülen işlere hakim oluruz,tüm işlerimizi nesneler yerine sorgular aracılığı ile hard code diye tabir edilen cinsten yaparız.Bunun avantajlı olduğu gibi bir o kadar da dezavantajları vardır.Orm kullandığımızda ise artık sorgular yerine işlerimizi nesnelere bağlayarak yapmaya başlarız ve bir çok sorguyu kullandığımız orm aracının yada jpa nın yazılmış sınıfları,metotları ile gerçekleştiririz ve arka tarafta yürütülen sorgular bizim sorunumuz olmaktan çıkmış orm aracı tarafından bizden bihaber şekilde  gerçekleştirilmektedir.Fakat  işler böyle yürümediği durumlarda bazı işler için kendi özelleştirilmiş sql benzeri jpa veya orm aracının sorgu dilini kullanırız.Bu sorguları kullanmak için ise Named Query adında bir dipnot vardır.

İlk olarak örnek bir JPA projesi açtım,mysql üzerinde basit bir siparişler tablosu oluşturdum ve gerekli ayarlamaları yaptıktan sonra tablomu haritaladım ve sınıfımı oluşturdum.

Burada gördüğünüz gibi

bir dipnot yer alıyor.Bu direk olarak haritalama yaptığınızda sizin için oluşturulan bir sorgudur.Sql söz dizimine alışıksanız pekte farklı olmayan bir biçimde basit bir select sorgusu yapıldığını fark etmişsinizdir.Bizde buradaki sorguyu name etiketi ile belirtilen adı ile başka bir yerde çağırarak bu sorgu sonucunda gelen verilerin işlemesini sağlayacağız.Bir sınıf daha oluşturdum ve basit olarak tabloya bir veri ekleyip ardından ise bu sorgu ile nasıl çektiğimizi göreceğiz.

Çalıştırdığımızda ise sorgu sonucu olarak eklenen veriler konsol çıktısı olarak görüyüruz.