Neo4j/SDN 警告:未找到异常类型 class 的 class 标识字段 class
Neo4j/SDN warining: No identity field found for class of type for exception class
在我的 Neo4j/Spring Data Neo4j 项目中,我有以下异常 class:
public class CriterionNotFoundException extends NotFoundDomainException {
private static final long serialVersionUID = -2226285877530156902L;
public CriterionNotFoundException(String message) {
super(message);
}
}
在应用程序启动期间,我看到以下警告:
WARN o.s.d.n.m.Neo4jPersistentProperty - No identity field found for class of type: com.example.domain.dao.decision.exception.DecisionAlreadyExistsException when creating persistent property for field: null
为什么 Neo4j/SDN 正在寻找这个 class 中的身份字段?如何正确配置我的应用程序以跳过此警告?
您可以忽略此警告 - 这是 SDN 在构建元数据时产生的 Spring 数据 REST 集成。当然,它不应该为异常执行此操作,我们将修复此问题。
"to correctly configure [your] application" 的一种方法是将 EnableNeo4jRepositories
和 EntityScan
注释添加到您的 SpringBootApplication
(或您的配置 bean),如前所述 here 并指定与 Neo4J 相关的软件包名称 classes.
我只调试了 SDN/Neo4j 代码 5 分钟,所以我的猜测可能不对,但是,我相信这些警告是在您没有指定包来扫描您的实体时生成的,并且存储库。我猜在那种情况下,SpringBoot+Neo4J-mapping 会扫描项目中的每个 class,如果 class 有一些字段,但与 "id" 字段没有任何相似之处,它会吐出这个警告。 (因此,向带有警告的 classes 添加一个 Long id
字段可能也是另一种(是的,非常难看)解决方法)
当我尝试使用 SpringBoot 2.0.6 + spring-data-neo4j 5.0.11 在我的项目中明确指定包名称时,我发现这些警告消失了。
在我的 Neo4j/Spring Data Neo4j 项目中,我有以下异常 class:
public class CriterionNotFoundException extends NotFoundDomainException {
private static final long serialVersionUID = -2226285877530156902L;
public CriterionNotFoundException(String message) {
super(message);
}
}
在应用程序启动期间,我看到以下警告:
WARN o.s.d.n.m.Neo4jPersistentProperty - No identity field found for class of type: com.example.domain.dao.decision.exception.DecisionAlreadyExistsException when creating persistent property for field: null
为什么 Neo4j/SDN 正在寻找这个 class 中的身份字段?如何正确配置我的应用程序以跳过此警告?
您可以忽略此警告 - 这是 SDN 在构建元数据时产生的 Spring 数据 REST 集成。当然,它不应该为异常执行此操作,我们将修复此问题。
"to correctly configure [your] application" 的一种方法是将 EnableNeo4jRepositories
和 EntityScan
注释添加到您的 SpringBootApplication
(或您的配置 bean),如前所述 here 并指定与 Neo4J 相关的软件包名称 classes.
我只调试了 SDN/Neo4j 代码 5 分钟,所以我的猜测可能不对,但是,我相信这些警告是在您没有指定包来扫描您的实体时生成的,并且存储库。我猜在那种情况下,SpringBoot+Neo4J-mapping 会扫描项目中的每个 class,如果 class 有一些字段,但与 "id" 字段没有任何相似之处,它会吐出这个警告。 (因此,向带有警告的 classes 添加一个 Long id
字段可能也是另一种(是的,非常难看)解决方法)
当我尝试使用 SpringBoot 2.0.6 + spring-data-neo4j 5.0.11 在我的项目中明确指定包名称时,我发现这些警告消失了。