返回介绍

7.3 Spring Data Neo4j 概览

发布于 2025-04-22 19:57:19 字数 1204 浏览 0 评论 0 收藏 0

Spring Data Neo4j 是由 Rod Johnson 和 Emil Eifrem 创建的,它是整个 Spring Data 的发端。它由 VMware 和 Neo Technology 密切合作开发,为 Spring 开发人员提供了熟悉的方式与 Neo4j 进行交互。它的意图在于使用熟知的基于注解的编程模型实现与 Spring 框架生态系统的紧密集成。作为 Spring Data 项目的一部分,Spring Data Neo4j 集成了 Spring Data Commons Repository(可参阅第 2 章)以及其他的通用基础设施。

如同在 JPA 中一样,在 POJO(简单 Java 对象,Plain Old Java Object)实体及其域上添加一些注解会提供必要的元信息,这样 Spring Data Neo4j 就能将 Java 对象映射为图元素。这些实体的注解通过节点(@NodeEntity)和关系(@RelationshipEntity)来实现。域上的注解声明了与其他实体的关系(@RelatedTo)、自定义转换、自动标引(@Indexed)或者计算出的/衍生的值(@Query)。Spring Data Neo4j 允许我们存储实体的类型信息(继承体系),从而能够执行高级的操作和类型转换,如示例 7-3 所示。

示例 7-3 添加注解的领域类

c0703

Spring Data Neo4j 的核心基础设施是 Neo4jTemplate,它提供了(类似于其他的模板实现)各种低层级的功能,这些功能对 Neo4j API 进行了封装以支持所匹配的领域对象。Spring Data Neo4j 的基础设施和 Repository 实现会使用 Neo4jTemplate 来完成其操作。类似于其他的 Spring Data 项目,Spring Data Neo4j 通过两个 XML 命名空间元素来进行配置 - 用来进行通用的搭建和 Repository 的配置。

为了让 Neo4j 适应个性化的使用场景,Spring Data Neo4j 支持 Neo4j 的嵌入式模式以及服务器部署模式,后者要通过 Neo4j 的 Java-REST 绑定来进行访问。两种不同的映射模式能够支持开发人员的个性化需求。在简单映射模式下,图中的数据会复制到领域对象中,然后会与图进行分离。在更为高级的映射模式下,会借助 AspectJ 为所绑定的领域对象提供实时(live)的、保持连接的图元素展现形式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。