Parameter dengan nama [to]
tidak ada karena Anda memasukkan :to
antara tanda kutip tunggal. Gunakan :to
bukannya ':to'
.
Yang sedang berkata, ini tidak akan berhasil. Saya menghadapi masalah yang sangat mirip dan setelah beberapa jam akhirnya menemukan solusi yang saya berikan sebagai jawaban di sini
. Untuk beberapa alasan, ketika interval
ikut bermain injeksi parameter tidak berfungsi seperti yang Anda harapkan.
Mempertimbangkan kesimpulan dari tautan di atas - saya yakin ini akan berhasil:
@Transactional(propagation = Propagation.REQUIRES_NEW)
@Modifying
@Query(value = "UPDATE transactionlog SET transactionstatus= :ps,
startedat = CURRENT_TIMESTAMP,
readytoprocessat= (CURRENT_TIMESTAMP + (( :to ) || 'second')\\:\\:interval)
WHERE logid IN (:li) ",nativeQuery = true)
public Integer reserve(@Param("ps") short processingStatus, @Param("li") List<Integer> logIdList, @Param("to") int timeOut);