3

这个问题与有关,因为我在孩子和父母之间有一种单向@ManyToOne关系。孩子条目有几十万,我不希望父母@OneToMany与孩子有关系。

一切正常,除了删除父级是不可能的,除非我先删除子级,我希望通过ON DELETE CASCADE. 我正在使用 Postgres 9。我也在使用 JPA 2.0/Hibernate 4.1.7。

我目前正在使用 Hibernate 的自动 DDL 创建功能,因为我经常移动东西,所以我不想ON DELETE CASCADE在表上手动添加,因为它们将在下一轮我做一些更改时被删除。

有什么方法可以将ON DELETE CASCADE约束/触发器作为 JPA@ManyToOne注释的一部分放在子实体中?这样数据库就会自动正确创建。

4

1 回答 1

4

使用 JPA 注释,不。但是休眠有@org.hibernate.annotations.OnDelete

    @ManyToOne
    @JoinColumn
    @OnDelete( action = OnDeleteAction.CASCADE )
    private Parent parent;

EG 正在讨论在 JPA 2.1 中添加类似的内容

于 2012-11-13T19:35:16.693 回答