You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于spring-boot-starter-data-neo4j未加载OGM核心注解的疑问

关于Spring Data Neo4j中OGM注解缺失的问题

你遇到的情况是版本迭代后的正常变更,并不是配置遗漏,下面给你详细拆解原因和解决方案:

核心原因:SDN 6.x彻底移除了Neo4j OGM依赖

从Spring Data Neo4j (SDN) 6.x版本开始(对应Spring Boot 2.4.0及以上),官方完全重构了SDN的底层实现——不再依赖Neo4j OGM(Object-Graph Mapping)框架,转而直接基于Neo4j Java Driver进行开发。

对应的,SDN的注解体系也全部更新:

  • 旧OGM的@NodeEntity、@RelatedTo等注解被彻底弃用
  • 取而代之的是@Node、@Relationship这些新注解,它们是SDN 6.x及以后的官方标准注解,完全支持你提到的SDN reactive特性

为什么你的pom.xml里找不到OGM注解?

你使用的spring-boot-starter-data-neo4j(Spring Boot 2.4.0版本)对应的是SDN 6.x,这个starter只包含SDN 6.x的核心依赖,不再引入任何Neo4j OGM相关的包,所以你找不到@NodeEntity这类注解是完全正常的。

你的两种选择

1. 推荐:使用新注解继续开发

@Node、@Relationship这些新注解的功能完全覆盖了旧OGM注解的能力,而且适配SDN的反应式编程模型,是官方主推的方案。你只需要把实体类里的旧注解替换成新注解即可,比如:

// 旧OGM写法
@NodeEntity
public class Person {
    @RelatedTo(type = "FRIENDS_WITH")
    private List<Person> friends;
}

// 新SDN 6.x写法
@Node
public class Person {
    @Relationship(type = "FRIENDS_WITH")
    private List<Person> friends;
}

2. 降级到依赖OGM的版本(不推荐)

如果你确实需要使用OGM的注解,只能降级Spring Boot版本到2.3.x(对应SDN 5.x,该版本依赖Neo4j OGM),同时不需要额外引入OGM依赖,因为spring-boot-starter-data-neo4j在2.3.x版本会自动包含OGM包。但这个方案不推荐,因为SDN 6.x在性能、稳定性和功能上都有很大提升,而且OGM已经不再是官方的主流维护方向。


你的pom.xml内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>com.demo</groupId>
<artifactId>be</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo-be</name>
<description>demo backend project</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!---google client libs-->
<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client -->
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.31.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

内容的提问来源于stack exchange,提问作者Vimal23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:45:25