Neo4j / SDN警告:异常类

时间:2016-05-25 15:04:32

标签: spring neo4j spring-boot spring-data-neo4j spring-data-neo4j-4

在我的Neo4j / Spring Data Neo4j项目中,我有以下异常类:

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在这个类中寻找身份字段?如何正确配置我的应用程序以跳过此警告?

2 个答案:

答案 0 :(得分:5)

您可以忽略此警告 - 这是由SDN在构建元数据Spring Data REST集成时生成的。当然,它不应该用于例外,并且我们已经解决了这个问题。

答案 1 :(得分:1)

“正确配置[您的]应用程序”的一种方法是将EnableNeo4jRepositoriesEntityScan批注添加到hereSpringBootApplication(或配置bean)中,并使用Neo4J相关类指定软件包的名称。

我仅调试SDN / Neo4j代码5分钟,所以我的猜测可能不成立,但是,我相信当您不指定要扫描实体和存储库的程序包时会生成这些警告。我猜在那种情况下,SpringBoot + Neo4J映射会扫描项目中的每个类,并且如果一个类具有某些字段,但没有任何类似于“ id”字段的内容,它将发出此警告。 (因此,向带有警告的类中添加Long id字段也可能是另一种(是的,非常丑陋的)解决方法)

当我尝试使用SpringBoot 2.0.6 + spring-data-neo4j 5.0.11在项目中明确指定包名称时,这些警告消失了。