Neo4j - OGM 对象图映射
对于需要使用 Neo4j 管理其域对象的 Java 开发人员,本指南介绍了 Neo4j 对象图映射 (OGM) 库。
您应该熟悉 图数据库概念 和属性图模型。您应该已经 创建了一个 Neo4j AuraDB 云实例,或者 在本地安装了 Neo4j
特性
Neo4j-OGM 支持您期望的特性
-
带注释的节点和关系实体的对象图映射
-
Neo4jSession 用于直接与 Neo4j 交互
-
快速类元数据扫描
-
优化的数据加载和更改跟踪管理,以最大程度地减少数据传输
-
多种传输方式:二进制 (bolt)、HTTP 和嵌入式
-
持久化生命周期事件
-
查询结果投影到 DTO
最小代码片段
此代码示例取自示例项目(见下文)。
@NodeEntity
public class Movie {
@Id @GeneratedValue
Long id;
@Property(name="title")
private String name;
}
@NodeEntity
public class Actor {
@Id @GeneratedValue
private Long id;
@Property(name="name")
private String fullName;
@Relationship(type="ACTED_IN", direction=Relationship.OUTGOING)
private List<Role> filmography;
}
@RelationshipEntity(type="ACTED_IN")
public class Role {
@Id @GeneratedValue
private Long relationshipId;
@Property
private String title;
@StartNode
private Actor actor;
@EndNode
private Movie movie;
}
示例项目
Neo4j 示例项目是一个小型、单页网页应用程序,用于 Neo4j 教程中内置的电影数据库。前端页面对于所有驱动程序都是相同的:电影搜索、电影详情以及演员和电影的图可视化。每个后端实现都向您展示如何从不同的语言和驱动程序连接到 Neo4j。
您可以了解有关我们小型、一致的示例项目的更多信息,该项目涵盖了许多不同的语言驱动程序 此处。您会发现所有驱动程序的实现作为 独立的 GitHub 存储库,您可以克隆并直接部署。