[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);