Параметър с име [to]
не съществува, защото сте поставили :to
между единични кавички. Използвайте :to
вместо ':to'
.
Като се има предвид това, това така или иначе няма да работи. Сблъсках се с наистина подобен проблем и след няколко часа най-накрая намерих решение, което представям в отговор тук
. По някаква причина, когато interval
влиза в действие инжектирането на параметри не работи както бихте очаквали.
Имайки предвид заключението от връзката по-горе - вярвам, че това трябва да работи:
@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);