简介

本章介绍了图数据库、Neo4j 和 Neo4j 对象图映射库 (Neo4j-OGM)。它还概述了需求以及在哪里获得支持。如果您已经熟悉 Neo4j 和 Neo4j-OGM,可以随时直接跳转到教程参考部分。

什么是 OGM?

OGM(对象图映射器)将图中的节点和关系映射到领域模型中的对象和引用。对象实例映射到节点,而对象引用使用关系映射或序列化到属性。JVM 原语映射到节点或关系属性。OGM 对数据库进行抽象,并提供了一种方便的方法来将您的领域模型持久化到图中并查询它,而无需使用底层驱动程序。它还为开发者提供了提供自定义查询的灵活性,在 Neo4j-OGM 生成的查询不足的情况下。

介绍 Neo4j-OGM

开发 Java 业务应用程序通常需要将丰富的领域模型映射到您的数据库。Neo4j-OGM 库是一个纯 Java 库,可以使用 Neo4j 持久化(已注释的)领域对象。它使用 Cypher 语句来处理 Neo4j 中的这些操作。

Neo4j-OGM 支持跟踪更改以最大程度地减少必要的更新和传递性持久性(读取和更新对象的邻域)。

由传输层处理的与 Neo4j 的连接基于 Bolt 协议并使用 Neo4j Java 驱动程序。

Neo4j-OGM 4 中的新功能?

从高层次来看,以下是 Neo4j-OGM 的第三个主要版本中发生的变化

  • 新的基线

    最低要求版本为 Java 17 和 Neo4j 5.x。

  • 删除自动索引管理器

    负责开箱即用地创建索引和约束的自动索引管理器已从 Neo4j-OGM 中删除。

    请使用诸如Neo4j-MigrationsLiquibase(启用了 Neo4j 插件)之类的工具来控制您的模式。它们提供的功能比仅仅关注索引和约束更广泛。

    尽管该功能已删除,但接口仍然可用。这些目前是为了避免重构您的代码库并支持 Neo4j-Migrations 的注释处理器以使过渡更容易。

  • 删除 HTTP 和嵌入式传输支持

    自从 Neo4j 4.x 以来,Neo4j-OGM 没有提供嵌入式传输,但该模块仍然可供连接到 3.5.x 实例的用户使用。由于此版本中官方支持的数据库的基线提高到 Neo4j 5.x,因此嵌入式选项已弃用。

    HTTP 传输模式已删除,因为它很少使用,并且无法与 Bolt 允许您拥有的广泛功能集竞争。

需求

Neo4j-OGM 4.x 最低要求为

  • JDK 版本 17

  • Neo4j 数据库 5.x

其他资源

项目元数据

获取帮助或提供反馈

如果您遇到问题,或者只是想寻求建议,请随时使用以下链接之一

了解更多

学习 Neo4j 的起点是neo4j.com。以下是其他一些有用的资源