Prosedur tersimpan SQL saya mengandungi dua pertanyaan dan saya mahu memanggil prosedur tersimpan daripada kod Java saya. Saya mencuba kod di bawah tetapi ia hanya mengembalikan senarai hasil pertanyaan pertama dalam prosedur tersimpan.
Query query = em.createNativeQuery("{call voucherRedemption(?,?,?)}"); query.setParameter(1, log masukWorkSpaceId); query.setParameter(2, startDate); query.setParameter(3, endDate); Senaraikanhasil = query.getResultList();
Prosedur yang disimpan adalah seperti berikut:
BUAT PROSEDUR `cer`.`VoucherRedemption`(IN workspaceId int(10), IN startDate VARCHAR(30), DALAM tarikh akhir VARCHAR(30)) BERMULA pilih w.ws_name sebagai wsName,str_to_date(startDate, '%Y-%m-%d') sebagai startDate,str_to_date(endDate, '%Y-%m-%d') sebagai endDate dari ruang kerja w di mana w.ws_id = workspaceId; pilih wang.*,money.paidAmount + money.prepaidAmount - money.clientCost,programs.programs daripada program; END
Saya syorkan menggunakannya seperti ini
EntityManager#createStoredProcedureQuery
:Saya tidak menggunakannya untuk mendapatkan hasil sebenar, hanya melakukan satu proses. Jika ini berkesan, sila beritahu saya.