0
我嘗試做以下(CB = CriteriaBuilder):JPA轉換表達<Timestamp>來表達<Calendar>
cb.between(
cb.currentTimestamp(),
kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeFra),
kampanjeArtikkelPriser.get(KampanjeArtikkelPris_.overstyrtSalgsprisPeriodeTil)),
,但我得到了以下語法錯誤:
- Bound mismatch: The generic method between(Expression<? extends Y>, Y, Y) of type CriteriaBuilder is not applicable for the arguments (Calendar, Path<Calendar>, Path<Calendar>). The inferred type Path<Calendar> is not a valid substitute for the bounded parameter <Y extends Comparable<? super Y>>
- Bound mismatch: The generic method between(Expression<? extends Y>, Expression<? extends Y>, Expression<? extends Y>) of type CriteriaBuilder is not applicable for the arguments (Expression<Timestamp>, Path<Calendar>, Path<Calendar>). The inferred type Object&Serializable&Cloneable&Comparable<? extends Object&Serializable&Cloneable&Comparable<?>> is not a valid substitute for the bounded parameter <Y extends Comparable<? super Y>>
有沒有可能來將表達式<時間戳>複製到表達式<日曆>?我似乎有點卡住,因爲我沒有找到辦法做到這一點,並且據我所見,我也沒有多少其他選擇。更改實體java類型不是一個選項,因爲這是一個有點大的系統,我不知道會有什麼樣的影響。
這篇選項工作,拉爾斯? – carbontax
你的意思是哪個選項?它可能一次檢查一個日期邊界。在這種情況下,我不得不放棄Criteria API並使用原生查詢,因爲休眠得到它的括號是錯誤的,因此也是查詢的結果。:) –
有沒有辦法使路徑出cb .currentTimestamp()? –
carbontax