2013-04-17 62 views
0

如何在@OneToMany关系中实现“ON DELETE RESTRICT”行为?如果我没有设置CascadeType.REMOVE,孩子不会被删除,但父母仍然会被删除。我知道这个级联类型是用于实体对象的,但是在数据库中外键都有“NO ACTION”。如何在数据库级别设置级联类型?JPA:删除限制

我也惊讶我没有发现任何有用的谷歌有关这个话题?

+0

您正在使用哪个数据库?这些选项不是SQL标准AFAIK。无论如何,JPA不会覆盖这个,因为JPA不是生成数据库模式的API。实施以专有方式提供这种可能性,但主要用于早期原型设计。 –

+0

请参阅http://en.wikipedia.org/wiki/Foreign_key#RESTRICT。这是标准的SQL。我使用PostgreSQL。基本上我可以只使用NO ACTION(我的个人偏好是使用RESTRICT,但并不重要)。 –

+1

是什么阻止你在你的DDL脚本中设置你想要的选项? –

回答

0

查看评论。 “没有行动”做我想要的。如果删除操作违反了约束条件,则不会执行该操作并抛出错误。