org.neo4j.driver.types包下的类有什么用途?是否可作为OGM使用?
org.neo4j.driver.types 包相关问题解答
包的核心作用
org.neo4j.driver.types是org.neo4j.driver:neo4j-java-driver官方Java驱动的内置类型包,核心作用是把Neo4j服务端返回的图数据结构,映射为Java侧可直接读写的原生类型对象,包下核心类的功能如下:
Entity:基础抽象接口,定义了图元素通用的属性读取、ID获取方法,是Node和Relationship的父接口Node:和Neo4j数据库中的节点一一对应,可直接获取节点的标签列表、所有属性、唯一元素IDRelationship:和Neo4j数据库中的关系一一对应,可获取关系类型、起止节点ID、所有属性、唯一元素ID- 还包含Point、Duration、本地日期等Neo4j特有数据类型的Java侧映射实现
能否作为类似OGM的组件使用
不能直接当作完整的OGM(对象图映射)/ORM组件使用,原因如下:
- 这些类属于驱动层的原生数据映射载体,仅实现了「Neo4j图结构 -> Java内置类型」的单向映射,没有提供自定义业务POJO和图结构的双向映射、自动CRUD、级联操作、查询结果自动封装为自定义类的能力
- 如果你的业务场景比较简单,不需要完整的OGM能力,可以基于这些类型自行封装简易的映射逻辑:比如手动把查询返回的
Node属性赋值到你自己的业务实体类中,或者把业务实体的属性提取出来拼接Cypher语句完成数据写入 - 只有当你需要使用完整的对象映射、持久化上下文管理、自动关联处理等能力时,才需要额外引入
neo4j-ogm依赖,它的底层也是基于官方Java驱动的types包类型做的上层封装。
内容的提问来源于stack exchange,提问作者Jordi
相关产品推荐
相关产品推荐

