第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot @OneToMany 映射

Spring Boot @OneToMany 映射

慕森王 2023-07-28 10:21:44
我正在學習Spring Boot,我有點困惑。我創(chuàng)建了帖子和評論模型,我希望帖子有很多評論。@OneToMany(cascade = CascadeType.ALL)@JoinColumn(name ="post_id")private List<Comment> comments = new ArrayList<>();這是評論:@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "post_id")private Post post;因此,當我返回單個帖子時,我希望有評論數組,但由于錯誤:java.lang.IllegalStateException Cannot call sendError() ,我必須設置@JsonIgnore評論獲取器。映射的最佳實踐是什么,我如何獲得帖子評論,我猜,不推薦新的http請求?
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

您應該@JoinColumn在一個相關對象上使用,mappedBy在第二個對象上使用。嘗試使其成為這樣:


@OneToMany(cascade = CascadeType.ALL, mappedBy="post")

private List<Comment> comments;

在 Post 實體中,在 Comment 實體中:


@ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "post_id")

private Post post;

mappedBy需要在第二個實體中存儲帶有屬性名稱的字符串。如果您存儲有關帖子的信息的字段名稱為“post”,則必須將其設置為“post”。


查看完整回答
反對 回復 2023-07-28
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

這應該是一個非常直接和簡單的案例。


你的Post類應該是這樣的:

@OneToMany(mappedBy="post",

           cascade=CascadeType.ALL)

private List<Comment> comments;

這里重要的部分是mappedBy,它指的是Comment類中的post屬性。


請記住,將級聯設置為 ALL 意味著刪除帖子將刪除與該帖子相關的所有評論(我認為這就是您想要的)。


評論類

完成此操作后,您現在可以處理您的Comment類,它將如下所示:


@ManyToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE,

                    CascadeType.DETACH, CascadeType.REFRESH})

@JoinColumn(name="post_id")

private Post post;

@JoinColumn 指數據庫中保存與評論相關的帖子 ID 的列,這就是帖子和評論之間的聯系。


查看完整回答
反對 回復 2023-07-28
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您還可以@JoinColumn在父類中配置(這一行)


@OneToMany(cascade = CascadeType.ALL)

@JoinColumn(name = "post_id")

private List<Comment> comments = new ArrayList<>();

但你需要刪除整個代碼


@ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "post_id")

private Post post;

來自你的評論課。這種映射可以用來避免添加@JsonIgnore注釋 getter。


現在,您可以輕松保存帶有評論列表的帖子類,并且還可以獲得帶有關聯評論列表的帖子類。


查看完整回答
反對 回復 2023-07-28
  • 3 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號