摘要: 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)
这样的话就可以进行外键约束并且将数据同时插入两张外键关联的表了。
© 著作权归作者所有