- 内容提要
- 序
- 前言
- 第一部分 背景知识
- 第 1 章 Spring Data 项目
- 第 2 章 Repository:便利的数据访问层
- 第 3 章 使用 Querydsl 实现类型安全的查询
- 第二部分 关系型数据库
- 第 4 章 JPA Repository
- 第 5 章 借助 Querydsl SQL 实现类型安全的 JDBC 编程
- 第三部分 NoSQL
- 第 6 章 MongoDB: 文档存储
- 第 7 章 Neo4j:图数据库
- 第 8 章 Redis:键/值存储
- 第四部分 快速应用开发
- 第 9 章 使用 Spring Roo 实现持久层
- 第 10 章 REST Repository 导出器
- 第五部分 大数据
- 第 11 章 Spring for Apache Hadoop
- 第 12 章 使用 Hadoop 分析数据
- 第 13 章 使用 Spring Batch 和 Spring Integration 创建大数据管道
- 第六部分 数据网格
- 第 14 章 分布式数据网格:GemFire
- 关于封面
7.3 Spring Data Neo4j 概览
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 添加注解的领域类
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论