gpt4 book ai didi

java - MongoDb 不保存 Spring 应用程序的 Java POJO 部分

转载 作者:行者123 更新时间:2023-12-01 14:48:53 25 4
gpt4 key购买 nike

我正在制作的应用程序中有以下 Java Pojo 部分:

@Document
public class Resume implements ResumePlan,Serializable {

private static final long serialVersionUID = -5332235643191283709L;

@Id
private String id;
@Autowired(required=false)
private Objective objective;
@Autowired
private PersonalDetails personalDetails;
@Autowired
private Skills skills;
@Autowired(required=false)
private Experience experience;
@Autowired
private Education education;
@Autowired(required=false)
private References references;
@Autowired(required=false)
private Publications publications;
}

我通过以下代码保存它:

mongoOperations.insert(resume);

当我在 mongodb 控制台中检查后端时:以下内容正在被存储:

db.resume.find(); { "_id" : "test@abc.com+919876543210", "_class" : "com.springmyresume.resume.Resume" }

它不存储其余的 bean 对象,例如 PersonalDetails 等。

有人可以告诉我我在这里做错了什么吗?

已经解决了。我做了以下更改。1)删除了@Autowired注释2)添加@DBRef注解使用 @Autowired 注释时,字段对象不会被保存。我不知道为什么会出现这种行为。

最佳答案

首先,请确保您拥有所有必需的字段类(ObjectivePersonalDetails),并注释为 @Document

第二,请为字段对象提供 getter 和 setter。

另外请确保您指定了实际的@Id,否则 spring 会为您执行此操作。

顺便说一句,如果您不想使用嵌入,可以使用 @DBRef 注解。这是非常好的信息:

http://maciejwalkowiak.pl/blog/2012/04/30/spring-data-mongodb-cascade-save-on-dbref-objects/

关于java - MongoDb 不保存 Spring 应用程序的 Java POJO 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092517/

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