JPA’da stored procedure çağırmak için yapılması gereken şey EntityManager nesnesinin createNativeQuery fonksiyonunu kullanmaktır.
Query q = getEM().createNativeQuery("{call sp_myProcedure(?)}", Nesne.class);
q.setParameter(1 , param1);
liste = (List) q.getResultList();
ya da
nesne = q.getSingleResult();
Üstteki kod bloğunda getEM() ile EntityManager nesneni almalısınız yani getEM() fonksiyonunu siz yazacaksınız. Nesne.class geriye dönecek olan resultset’teki alanları kullanarak oluşturulacak nesnenin tipi.
Geriye 1 sonuç dönecek ise q.singleResultSet birden fazla dönecek ise getResultSetList fonksiyonunu kullanmak gerekli.
Kategorisi: JPA, Veritabanı
