[英]Persisting list relationship spring data mongodb
怎么了,我试图在评论列表中添加新评论,该评论被映射为Post类中的列表。
这是我的代码。
Post.java
@Document
public class Post {
@Id
private String id;
@DBRef
private List<Comment> comments;
public void addComment(Comment comment) {
if (comments == null) {
comments = new ArrayList<>();
}
this.comments.add(comment);
}
// getters and setters....
}
Comment.java
@Document
public class Comment {
@Id
private String id;
private String comment;
private int rating;
// getters and setters....
}
测试类
@Test
public void savePostWithComments() {
Post post = postRepository.findAll().get(1);
Comment comment = new Comment();
comment.setComment("comment");
comment.setRating(5);
post.addComment(comment);
postRepository.save(post);
}
测试失败,并显示此错误
org.springframework.data.mapping.model.MappingException:无法创建对具有NULL ID的对象的引用。
所有帮助表示赞赏!
引用spring-data-mongodb文档
重要说明:映射框架无法处理级联保存。 如果更改了Person对象引用的Account对象,则必须单独保存Account对象。 在Person对象上调用save不会自动将Account对象保存在属性帐户中。
新增中
commentRepository.save(comment);
坚持发布对象重新解决问题之前
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.