Hibernate外键约束报错解析
Hibernate外键约束报错解析
小和尚敲代码 发表于2年前
Hibernate外键约束报错解析
  • 发表于 2年前
  • 阅读 56
  • 收藏 0
  • 点赞 1
  • 评论 0
摘要: should be mapped with insert="false" updatable=false

一.should be mapped with insert="false" updatable=false

private int book_id_fk;

@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="book_id_fk",updatable=true,insertable=true)   
public Book getBook() {
        return book;
    }

    public void setBook(Book book) {
        this.book = book;
    }
    
这样写的话就会产生上面的错误,因为重名。这是多对一中多的一方的注解

解决方法 :

@JoinColumn(name="book_id_fk",updatable=true,insertable=true)
改为
@JoinColumn(name="book_id_fk",updatable=false,insertable=false)

但是这样的话会报外键约束的错误

所以最终解决方案:

不要添加    private int book_id_fk;
@JoinColumn(name="book_id_fk",updatable=true,insertable=true)

这样的话就可以进行外键约束并且将数据同时插入两张外键关联的表了。

共有 人打赏支持
粉丝 23
博文 85
码字总数 28687
×
小和尚敲代码
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: