这个问题与this有关,因为我在孩子和父母之间有一个单向@ManyToOne关系.有成千上万的孩子条目,我不希望父母与孩子建立@OnetoMany关系.
除了不能删除父级,除非我先删除子级,而且我希望通过ON DELETE CASCADE轻松实现Postgres所提供的功能,否则一切正常.我正在使用Postgres9.我也在使用JPA 2.0 / Hibernate 4.1.7.
我目前正在使用Hibernate的自动DDL创建功能,因为我经常移动东西,所以我不想在表上手动添加ON DELETE CASCADE,因为它们将在下一次删除时进行一些更改.
有什么方法可以将ON DELETE CASCADE约束/触发器作为子实体中JPA @ManyToOne批注的一部分放置?这样,将自动正确创建数据库.
解决方法:
使用JPA批注,否.但是Hibernate具有@ org.hibernate.annotations.OnDelete.
@ManyToOne
@JoinColumn
@OnDelete( action = OnDeleteAction.CASCADE )
private Parent parent;