gpt4 book ai didi

java - 使用 Spring Data MongoDB 时,使用 Map 作为 bean 中的属性时出现异常?

转载 作者:行者123 更新时间:2023-12-01 12:42:49 26 4
gpt4 key购买 nike

我想在我的 bean 中存储 Map 属性,并希望使用 Spring Data Mongodb 将其存储在 MongoDB 中。

public class Sample {
Map values;
//constructor, getters and setters go here
}

保存效果很好。假设我已经使用此 bean 保存了这样的 Mongo 文档:

{
"values": {
"id":123,
"name":"Vivek"
}
}

现在,我想查询这份文档。所以,我写了这样的内容:

 Query.addCriteria(Criteria.where("values.id").is(123));

这会导致执行 find() 时出现异常。

java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.Assert.notNull(Assert.java:123)
at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:69)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:327)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:307)
at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:290)
at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:274)
at org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.getPath(QueryMapper.java:559)
at org.springframework.data.mongodb.core.convert.QueryMapper$MetadataBackedField.<init>(QueryMapper.java:486)
at org.springframework.data.mongodb.core.convert.QueryMapper.getMappedObject(QueryMapper.java:104)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1489)
at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1480)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:527)
at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:518)

我们怎样才能摆脱这个异常?

最佳答案

我必须改变Map values;Map<Object,Object> values;然后它开始工作了。

关于java - 使用 Spring Data MongoDB 时,使用 Map 作为 bean 中的属性时出现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24939901/

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