Java 如何控制hibernate逆向工程@JoinTable和it';s元素?
我正在使用hibernate反向工程工具从数据库生成pojo。假设我的数据库中有两个表A和B,另一个表ABMap有两列A_id和B_id,分别是表A和B的外键,ABMap的主键是A_id和B_id的组合键。 现在,当我构建项目并生成POJO时,不再使用hibernate将ABMap作为单独的实体生成,而是将其作为集合添加到实体a中。下面是实体A中生成的代码片段Java 如何控制hibernate逆向工程@JoinTable和it';s元素?,java,spring,hibernate,jpa,reverse-engineering,Java,Spring,Hibernate,Jpa,Reverse Engineering,我正在使用hibernate反向工程工具从数据库生成pojo。假设我的数据库中有两个表A和B,另一个表ABMap有两列A_id和B_id,分别是表A和B的外键,ABMap的主键是A_id和B_id的组合键。 现在,当我构建项目并生成POJO时,不再使用hibernate将ABMap作为单独的实体生成,而是将其作为集合添加到实体a中。下面是实体A中生成的代码片段 @ManyToMany(fetch = FetchType.LAZY) @JoinTable(name = “ABMap”, schem
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = “ABMap”, schema= “myDB”, joinColumns = {
@JoinColumn(name = “A_id”, nullable = false, updatable = false) }, inverseJoinColumns = {
@JoinColumn(name = “B_id”, nullable = false, updatable = false) })
public Set getBs() {
return this.bs;
}
public void setBs(Set bs) {
this.bs = bs;
}
现在的问题是,使用hibernate或Jpa,我可以在没有实际实体ABMap的情况下插入ABMap表,但我无法更新相同的记录,因为@JoinColumn中的可更新元素被hibernate反向工程工具设置为false。下面是试图更新B_id的值时发生的sql错误
2014-12-17 13:26:50639错误(QTP85050326-20)[org.hibernate.engine.jdbc.spi.SqlExceptionHelper]-UPDATE语句与外键约束“FK_A_B”冲突。冲突发生在数据库“myDB”、表“B”、列“B_id”中
如何将@JoinColumn中的可更新元素设置为true