繁体   English   中英

表“users”上的更新或删除违反了表“movie_list”上的外键约束“fk_owner_id”

[英]update or delete on table “users” violates foreign key constraint “fk_owner_id” on table “movie_list”

我在删除用户并将其级联删除到他的所有电影列表时遇到问题。

class User {
    @OneToMany(mappedBy = "owner", cascade = CascadeType.REMOVE)
    @JsonIgnore
    private List<MovieList> movieLists;
}

class MovieList {
    @ManyToOne
    @JoinColumn(name = "owner_id", foreignKey = @ForeignKey(name = "fk_owner_id"))
    private User owner;
}

这是我尝试删除用户时调用的方法:

userRepository.delete(user);

当我尝试删除用户时,我得到以下信息:

表“users”上的更新或删除违反了表“movie_list”上的外键约束“fk_owner_id”。

我该如何解决?

谢谢

您好,我认为您需要在注释中添加属性

像这样:

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

换句话说,它必须通过 (CascadeType.ALL, orphanRemoval = true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM