用于级联删除单向关系的JPA 2.0本机注释

时间:2012-11-13 18:17:36

标签: java hibernate postgresql jpa jpa-2.0

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

一切正常,除非我删除父母是不可能的,除非我先删除孩子,我希望通过ON DELETE CASCADE实现Postgres轻松提供的内容。我正在使用Postgres 9.我也在使用JPA 2.0 / Hibernate 4.1.7。

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

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

1 个答案:

答案 0 :(得分:4)

使用JPA注释,没有。但是Hibernate有@org.hibernate.annotations.OnDelete

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

EG正在讨论在JPA 2.1

中添加类似的内容