Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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继承模型使OnDelete级联工作_Java_Mysql_Hibernate_Hibernate Mapping - Fatal编程技术网

Java 如何使用Hibernate继承模型使OnDelete级联工作

Java 如何使用Hibernate继承模型使OnDelete级联工作,java,mysql,hibernate,hibernate-mapping,Java,Mysql,Hibernate,Hibernate Mapping,家长: @Entity @Table(name = "Parent") @Inheritance(strategy=InheritanceType.JOINED) public class Parent { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "id") protected int id; //some code here } 儿童1:

家长:

@Entity  
@Table(name = "Parent")  
@Inheritance(strategy=InheritanceType.JOINED)
public class Parent {
    @Id  
    @GeneratedValue(strategy=GenerationType.AUTO)  
    @Column(name = "id")  
    protected int id;  
    //some code here
}
儿童1:

@Entity  
@Table(name="Child1")   
@PrimaryKeyJoinColumn(name="id")
@OnDelete(action = OnDeleteAction.CASCADE)
public class Child1 extends Parent {
        //some code here
}
我正在使用Hibernate映射在MySQL中创建表。 我对冬眠是完全陌生的。正在创建表,并且子表有一个外键,它引用父表id,正如我提到的@PrimaryKeyJoinColumn注释。 在子表中添加字段也会在扩展时将其添加到父表中。 但删除父表中的行不会删除子表中的行。 也许我在某个地方走错了路。 我的最终目标是扩展父表,并使用子表向其添加记录。
我需要一些指针。可能是其他注释,或者其他实现目标的方法。

我通过在子表的外键中添加DELETE CASCADE上的
解决了这个问题

参考:

例如:

CREATE TABLE parent (
    id INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE child (
    id INT,
    parent_id INT,
    INDEX par_ind (parent_id),
    FOREIGN KEY (parent_id)
        REFERENCES parent(id)
        ON DELETE CASCADE
) ENGINE=INNODB;