Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何控制hibernate逆向工程@JoinTable和it';s元素?_Java_Spring_Hibernate_Jpa_Reverse Engineering - Fatal编程技术网

Java 如何控制hibernate逆向工程@JoinTable和it';s元素?

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

我正在使用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”, 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