jpa 中在Repository中將Date類型作爲入參進行查詢,查詢不到結果?

@Query("select t from PartialDischargeForecast t where t.monitoringName =?1 and t.futureTime = ?2")
List<PartialDischargeForecast> queryByName(String name,Date date);

jpa中這樣一句把時間作爲參數傳入作條件查詢時,返回沒有結果。查看後臺的sql日誌,輸出的sql又是正確的。

並且將後臺打印該方法執行的sql直接放在數據庫中執行時,又能查詢到數據,奇怪!

 

原因不明。不過解決辦法倒是有,在方法定義入參時,給時間類型的參數加上註解 @Temporal(TemporalType.TIMESTAMP),進行查詢即可生效

@Query("select t from PartialDischargeForecast t where t.monitoringName =?1 and t.futureTime = ?2")
List<PartialDischargeForecast> queryByName(String name,@Temporal(TemporalType.TIMESTAMP) Date date);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章