亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Neo4j OGM 無法處理類 my.class.Class 上的 ZonedDateTime 字段

Neo4j OGM 無法處理類 my.class.Class 上的 ZonedDateTime 字段

慕容708150 2023-12-13 14:31:00
我正在嘗試使用 Bolt 驅動程序將具有 java.time.ZonedDateTime 類型字段的 @NodeEntity 持久保存到我的 Neo4j 數據庫中,但我得到的只是以下警告消息:org.neo4j.ogm.context.EntityGraphMapper:無法處理 nz.co.class.project.point.Point 類上的 AT。檢查映射。我正在使用以下庫:OpenJDK 11Spring Boot(2.2.0.RELEASE)Spring Data Neo4j (5.2.0.RELEASE)Neo4j (3.5.12)Neo4j-OGM (3.2.1)Neo4j-OGM-螺栓驅動程序 (3.2.1)Neo4j-OG-Bolt-Native-Types (3.2.1)結果是節點實體保存在 Neo4j 數據庫中,但沒有 ZonedDateTime 屬性。難道我做錯了什么?據我了解,OGM 版本 3.2.X 支持“java.time”包中的所有 java 日期。這是該問題的一個工作示例:https://github.com/lcichero/neo4j-ogm-zoneddatetime.git
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

編輯:之前的答案不正確,對此表示抱歉。我再次查看了我們的消息來源,因為你的評論給了我一些疑問。

您需要顯式啟用類型轉換(這將在文檔中介紹)。對于 Spring Boot 應用程序,您可以通過application.properties添加來完成此操作

spring.data.neo4j.use-native-types=true

你會看到類似的東西

Request:?UNWIND?{rows}?as?row?CREATE?(n:`Point`)?SET?n=row.props?RETURN?row.nodeRef?as?ref,?ID(n)?as?id,?{type}?as?type?with?params?{type=node,?rows=[{nodeRef=-2,?props={x=14.5,?y=43.5,?at=2018-06-23T00:00+12:00}}]}

如果將org.neo4j.ogm的日志記錄設置為DEBUG

對于 Neo4j-OGM 的配置是

Configuration?configuration?=?new?Configuration.Builder()
????.uri("bolt://neo4j:password@localhost")
????.useNativeTypes()
????.build()

如文檔中所述。

為什么必須明確啟用此功能?因為我們不會通過存儲“新”本機類型而不是轉換后的值來破壞并能夠讀取數據庫中 Neo4j-OGM 3.2 之前的用戶數據。

舊答案

我們還沒有發布 3.2。文檔,因此我鏈接到GitHub上的源代碼。

支持的時間類型有Date,?Time,?LocalTime,?DateTime,LocalDateTimeDuration但正如您所看到的 not?ZonedDateTime。


查看完整回答
反對 回復 2023-12-13
  • 1 回答
  • 0 關注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號