亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

休眠一對多關系:一旦父母被移除就無法移除孩子

休眠一對多關系:一旦父母被移除就無法移除孩子

瀟瀟雨雨 2021-06-09 18:08:12
我有一個課程評論一對多的關系。在課程表中有 id 和 title 列。在 Review 表中有 id、comment 和 course_id,其中“course_id”作為 FK 指向 Course id。我想實現這樣的場景,一旦課程被刪除,相關的評論就會被自動刪除。我有以下代碼:@Entity@Table(name = "course")public class Course {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "id")    private int id;    @Column(name = "title")    private String title;    @OneToMany(mappedBy = "course", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)    private List<Review> reviews;    public void addReview(Review review){        if(reviews==null) reviews = new ArrayList<>();        reviews.add(review);    }    //other codes below omitted}@Entity@Table(name = "review")public class Review {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "id")    private int id;    @Column(name = "comment")    private String comment;    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)    @JoinColumn(name = "course_id")    private Course course;//other codes omitted}
查看完整描述

1 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

您的評論從未真正屬于該課程,因為您從未初始化關聯的擁有部分:Review.course。將您的addReview()方法更改為


@OneToMany(mappedBy = "course", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)

private List<Review> reviews = new ArrayList<>();


public void addReview(Review review){

    review.setCourse(this);

    reviews.add(review);

}


查看完整回答
反對 回復 2021-06-30
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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