![](/img/trans.png)
[英]Spring Data Repository does not delete Entity when using @OneToMany Annotations
[英]Spring returning a big String of data instead of List when using OneToMany
更新:我尝试从 getAuthor() 和 getTopic() 在 Post 实体中返回 null 并且这似乎已经解决了它,但现在问题是我不知道 Post 的作者是谁......它会更聪明吗想法只使用String usernameOfAuthor
而不是Account author
?
我有 Post 实体和一个 Topic 实体,我想对其进行设置,以便一个 Topic 可以有多个 Posts,多个 Posts 可以在一个 Topic 中。这是我的代码:
@Entity
@Table(name="topic")
public class Topic extends TimeStampModel {
@Id
@Column
@GeneratedValue
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String codeName;
@Column
private String description;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "topic")
private List<Post> posts;
//getters and setters
}
@Entity
@Table(name="post")
public class Post extends Likeable {
@Id
@GeneratedValue
@Column
private Long id;
@Column(nullable = false)
private String title;
@Column
private String text;
@ManyToOne
@JoinColumn(name="topic_id", nullable = false)
private Topic topic;
@ManyToOne
private Account author;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "post")
List<Comment> topLevelComments;
//getters and setters
}
现在,当我运行这段代码,并请求获取所有主题时,这就是我的浏览器中的样子:
如果我删除了mappedBy='topic'
和@JoinColumn(name="topic_id", nullable = false)
,一切正常,我得到一个主题列表作为回报,这很好,但是我的帖子不t 工作,我的主题都没有帖子......我在这里做错了什么?
您可能需要添加 @JsonBackReference 以防止 Jackson (json) 无限递归问题。
@JsonBackReference
@ManyToOne
@JoinColumn(name="topic_id", nullable = false)
private Topic topic;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.