Java Spring + Hibernate "Cannot add or update a child row"

标签 java mysql spring hibernate jpa

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (ravermeister.artist_recordlabel, CONSTRAINT FK_9dgdyft45droyopxsqijwb1dx FOREIGN KEY (artist_id) REFERENCES artist (id))

艺术家级别

@Entity
@Repository
@Data
@NoArgsConstructor(force = true)
public class Artist {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "artist_firstname")
    private String artist_firstname;

    @Column(name = "artist_secondname")
    private String artist_secondname;

    @Column(name = "artist_nickname")
    private String artist_nickname;


    @ManyToMany (fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
    @JoinTable(name = "artist_recordlabel", joinColumns = @JoinColumn(name = "artist_id"),
            inverseJoinColumns = @JoinColumn(name = "label_id"))
    private Set<RecordLabel> recordLabels;

    @ManyToMany (fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
    @JoinTable (name = "artist_musicrelease", joinColumns = @JoinColumn (name = "artist_id"),
    inverseJoinColumns = @JoinColumn (name = "musicrelease_id"))
    private Set <MusicRelease> musicReleaseSet;

和 RecordLabel 类

@Entity
@Repository
@Data
@NoArgsConstructor(force = true)
public class RecordLabel {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "label_name")
    private String label_name;

    @Column(name = "label_country")
    private String label_country;

    @ManyToMany(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
    @JoinTable(name = "artist_recordlabel", joinColumns = @JoinColumn(name = "label_id"),
            inverseJoinColumns = @JoinColumn(name = "artist_id"))
    private Set<Artist> artistsList;

最佳答案

请遵循本指南来建立多对多关系

http://www.baeldung.com/hibernate-many-to-many

关于Java Spring + Hibernate "Cannot add or update a child row",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47502734/

相关文章:

java - 如何使用 JButton 打开文件

php - 如何将 LIKE %% 应用于变量?

MySQL 与 FIFO 的限制关系表

Spring Autowire 失败,找不到类型的合格 bean 依赖错误

java - 如何在 Java 中从 JTextField 设置 Bean 属性值?

java - 如何通过 SOCKS 代理使用 URLConnection?

java - Android - 将工具栏的标题居中

java - 运行 Selenium IDE 时出错 "Error: Permission denied to access property ' nr@context'

mysql - 带有子查询的 CodeIgniter 事件记录查询

java - JdbcTemplate queryForList 在没有结果的情况下返回值