简介

本章介绍图数据库、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 Driver。

Neo4j-OGM 4 有什么新特性?

从整体上看,Neo4j-OGM 第三次重大版本的改动如下:

  • 新基线

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

  • 移除自动索引管理器

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

    请使用 Neo4j-MigrationsLiquibase(启用 Neo4j‑Plugin)来管理您的模式。它们提供的功能远超单纯的索引和约束管理。

    虽然功能已被移除,但相关接口仍然保留,以避免重构您的代码库,并支持 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。以下是其他有用资源的列表: