Panggil prosedur tersimpan dalam Java dan JPA
Menyimpan logik perniagaan dalam prosedur tersimpan meningkatkan prestasi dan kebolehselenggaraan kod. Artikel ini meneroka dua kaedah untuk memanggil prosedur tersimpan daripada Java menggunakan JPA: kaedah CallableStatement dan JPA 2.1 StoredProcedureQuery.
Kaedah CallableStatement
Kelas CallableStatement menyediakan kaedah serba boleh untuk memanggil prosedur tersimpan. Ia membolehkan anda menentukan parameter input dan mendapatkan semula parameter output atau set hasil. Walau bagaimanapun, ia memerlukan pemetaan manual antara jenis SQL dan objek Java, yang boleh membosankan.
JPA 2.1 StoredProcedureQuery
JPA 2.1 memperkenalkan sokongan terbina dalam untuk memanggil prosedur tersimpan. Kelas StoredProcedureQuery memudahkan proses ini dengan membenarkan anda menghantar parameter input dan menentukan kelas hasil atau resultSetMapping.
Gunakan JPA StoredProcedureQuery untuk memanggil prosedur tersimpan "getEmployeeDetails":
<code class="language-java">Query query = em.createNativeQuery("{call getEmployeeDetails(?,?)}", EmployeeDetails.class) .setParameter(1, employeeId) .setParameter(2, companyId); List<EmployeeDetails> result = query.getResultList();</code>
Kelebihan menggunakan JPA untuk memanggil prosedur tersimpan
Pernyataan SQL yang memanggil prosedur tersimpan
Pernyataan SQL yang betul untuk memanggil prosedur tersimpan ialah:
<code class="language-sql">{call getEmployeeDetails(?,?)}</code>
Nota: Sisipkan nama prosedur yang disimpan dalam pendakap kerinting dan parameter berasingan dengan koma dan tanda soal (?).
Nota lain:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Prosedur Tersimpan di Java Menggunakan JPA?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!