クラスmy.class.ClassにZonedDateTimeフィールドを処理できませんのNeo4j OGM。マッピングをチェック

ライオネルCichero:

私は、ボルトのドライバーを使用して、私のNeo4jデータベースにタイプjava.time.ZonedDateTimeのフィールドを持つ@NodeEntityを保持しようとしていますが、私が得るすべては、この警告メッセージです:

org.neo4j.ogm.context.EntityGraphMapper:クラスnz.co.class.project.point.PointにATを処理できません。マッピングを確認してください。

私は、次のライブラリを使用しています:

  • OpenJDKの11
  • 春ブーツ(2.2.0.RELEASE)
  • 春データのNeo4j(5.2.0.RELEASE)
  • Neo4j(3.5.12)
  • Neo4j-GMO(3.2.1)
  • Neo4j-OGMボルトドライバ(3.2.1)
  • Neo4j-AND-ボルト - ネイティブタイプ(3.2.1)

結果はのNeo4jデータベースではなくZonedDateTime属性なしで保存されているノードの実体です。

私は何かを間違っているのでしょうか?それはOGMバージョン3.2.Xは「java.time」パッケージ内のすべてのJavaの日付をサポートしていることを私の理解です。

ここでは、問題の実施例です。

https://github.com/lcichero/neo4j-ogm-zoneddatetime.git

見事マイヤー:

編集:前の答えは、このために申し訳ありませんが、正しくありませんでした。あなたのコメントは私にいくつかの疑問を与えたので、私は、われわれの情報源に再び見えました。

あなたは、明示的に型変換を(これはドキュメントでカバーされてしまいます)を有効にする必要があります。春ブートアプリケーションのためには、でこれを行うことができます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.ogmDEBUG

Neo4j-OGMのための構成は以下のようになり

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

ように説明ドキュメント

なぜあなたはこれを明示的に有効にする必要がありますか?私たちが破壊し、 『新しい』ネイティブ型の代わりに、変換後の値を格納することによって、データベース内のNeo4j-OGM 3.2ユーザーのデータを事前に読み取ることができなくなりますので。

古い答え

我々はまだ3.2を公開していません。ドキュメントので、私は上の情報源へのリンクをGitHubの

サポートされる一時的なタイプはDateTimeLocalTimeDateTimeLocalDateTimeDurationしかし、あなたはありません見ることができるようにZonedDateTime

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=330080&siteId=1