[英]Save object of LocalDate (Java.time) in Firebase database
我有一個具有字段LocalDate localDate
(Java.time)的類(例如Class A
),我考慮使用LocalDate
因為我想保存“ date”而不包含“ time”。 我想將此類A的對象保存到Firebase數據庫。 由於LocalDate
是可serializable
所以我認為我可以輕松地將其保存在FB數據庫中,但是在實際實現它時,出現了以下錯誤:
'firebase.database.DatabaseException: Found conflicting getters for name: getChronology'
我將其發布在Twitter上,並得到@puf和doug的快速響應。
我確實得到了一些幫助,但我仍在尋找以下幾個問題的答案:
是否有一種簡單且通用的方式將字段保留在模型中,作為LocalDate
,而在存儲在數據庫中時僅將其用作String
? 諸如overriding
toString()
方法之類的東西(盡管覆蓋toString()
在這里無法正常工作,因為Firebase不使用可序列化的方法來獲取對象數據)。
什么是“如何在沒有時間的情況下將日期保存到Firebase數據庫”的最佳解決方案?
正如我在后續推文中所暗示的,您的最大利益是:
原因如下:
long
日期轉換為該派生對象的getter和setter,而無需知道是否要使用它。 根據需要延遲更簡單,更有效。 最重要的是,不將實用程序類與數據模型一起使用會更輕松,更靈活,更高效。 當數據模型包含已存儲的原始數據時,它們可以與Firebase更好地配合使用。
請注意,在Firestore中,大多數平台上對本機Date對象類型都有特殊處理。 因此,如果您想移植到Firestore,則最好使用平台的日期類型來讀寫Firestore時間戳字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.