我正在尋找一種在本機查詢中系結給定引數的方法,其中值必須在單引號內,如下所示:
@Transactional(readOnly = true)
@Query(value = " SELECT c.ID "
" FROM table1 clh "
" LEFT JOIN table2 nks "
" on clh.SERIAL = nks.SERIAL_REF "
" WHERE clh.CREATED_DATE >= :now - interval ':timeThreshold' HOUR "
" AND nks.SERIAL_REF IS NULL" , nativeQuery = true)
List<Long> getIdsWithoutAnswer (@Param("timeThreshold") Integer timeThreshold, @Param("now") LocalDateTime now);
但是,當我嘗試運行它時,它會導致 hibernate 無法系結 timeThreshold 值,因為它是在單引號 '' 中提供的。
有誰知道如何解決這個問題?
uj5u.com熱心網友回復:
您在原生 Oracle 查詢中遇到的問題與嘗試將值系結到區間文字有關。你不能那樣做。相反,使用該NUMTODSINTERVAL()函式:
@Transactional(readOnly = true)
@Query(value = " SELECT c.ID "
" FROM table1 clh "
" LEFT JOIN table2 nks "
" on clh.SERIAL = nks.SERIAL_REF "
" WHERE clh.CREATED_DATE >= :now - numtodsinterval(:timeThreshold, 'hour') "
" AND nks.SERIAL_REF IS NULL" , nativeQuery = true)
List<Long> getIdsWithoutAnswer (@Param("timeThreshold") Integer timeThreshold, @Param("now") LocalDateTime now);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372676.html
上一篇:Mongoose TypeScript:有條件地find()模型上的檔案拋出錯誤:聯合型別具有簽名,但沒有相互兼容
下一篇:一對多雙向關系引發的例外
