嘿我需要從表返回日期爲一個長(毫秒)。我需要訪問的列在oracle數據庫上,並且是Timestamp類型(名稱爲ROW_TMSTP)。返回日期只要在實體
我做了什麼是:
@Column(name = "ROW_TMSTP")
@Override
@Temporal(TemporalType.TIMESTAMP)
public Date getEntityTimeStamp() {
return entityTS;
}
@Transient
public Long getVersion() {
return entityTS.getTime();
}
的作品..有時。 如果我想選擇版本高於x的記錄,它不起作用。
如何編寫一個對Timestamps有效的實體類?
請不要試圖說服我改變數據庫結構..我必須堅持有什麼,我必須通過getVersion返回一個字段。
謝謝!
編輯在getVersion映射
缺乏了我的選擇查詢,導致無效的標識符。刪除@Transient
並添加適當的映射解決了這個問題。
@Column(name="ROW_TMSTP", updatable=false, insertable=false)
public Long getVersion() {
return entityTS.getTime();
}
雖然有點棘手,但長期以來的比較......但這不是我的問題。
你是怎麼解決比較問題的? – Sudhakar 2012-05-10 14:33:16
解釋在上面 - 不是@Transient Long getVersion的作品。 – Deo 2013-07-30 11:19:01