gpt4 book ai didi

java - "Cycle found"与 Spring Data Mongo 1.5

转载 作者:IT老高 更新时间:2023-10-28 13:57:05 28 4
gpt4 key购买 nike

我有一个使用 Spring Data MongoDB 1.4.2 完美运行的项目。我尝试更新到 1.5.0,但在 Autowiring (提取)期间出现此错误:

Caused by: org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexResolver$CyclicPropertyReferenceException: Found cycle for field 'rules' in type 'Filter' for path 'filter.rules'
at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexResolver$CycleGuard.protect(MongoPersistentEntityIndexResolver.java:370) ~[spring-data-mongodb-1.5.0.RELEASE.jar:na]
at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexResolver$2.doWithPersistentProperty(MongoPersistentEntityIndexResolver.java:144) ~[spring-data-mongodb-1.5.0.RELEASE.jar:na]
at org.springframework.data.mongodb.core.index.MongoPersistentEntityIndexResolver$2.doWithPersistentProperty(MongoPersistentEntityIndexResolver.java:138) ~[spring-data-mongodb-1.5.0.RELEASE.jar:na]
at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:294) ~[spring-data-commons-1.8.0.RELEASE.jar:na]

我有一个存储库“RulesDAO”,只是扩展了“MongoRepository”。它管理一个名为“规则”的实体。该实体有一些基本字段和一个“过滤器”字段。这个Filter类包含一个Filter列表(可以为空)。

@Document(collection="rules")
public class Rule {

@Id private String id;

private String name;

// other fields

private Filter filter;

}

public class Filter {

// for groups
private String condition;

private List<Filter> rules = new ArrayList<Filter>();


// for query
private String field;

private String value;

}

(“规则”不是一个完美的名称,但它必须以这种方式命名以用于 MVC 绑定(bind))

所以 Filter.rules 属性被解释为不是循环​​的! (在我对“周期”一词的理解中)

这是版本中的错误还是此用例有新的“标志”?

谢谢


对于背景故事,Filter 类可以是用于构建复杂 Criteria 的树的叶子或节点,它是由 mine 的 jQuery 插件的 JSON 构建的 http://mistic100.github.io/jQuery-QueryBuilder

最佳答案

您的代码是正确的。该日志消息只是 INFO 级别,告诉您代码中存在潜在的循环引用。

您可以通过关闭记录器来忽略这条烦人的消息。如果您使用的是 Spring Boot,请将其添加到您的 application.properties 文件中:
logging.level.org.springframework.data.mongodb.core.index=OFF

关于java - "Cycle found"与 Spring Data Mongo 1.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24381466/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com