我知道这个问题属于数据库理论的早期阶段,但是我几个月以来没有遇到过这样的问题。如果有人有一个数据库,其中一些表通过外键相互关联成为“链”,并且他们想要从一个具有一些“依赖”表的表中删除记录,会出现什么障碍?特别是,在一个包含表Person、Profile、Preference、Filter的数据库中,存在以下关联:Person.id
是Profile
中的外键,Profile.id
是Preference
中的外键,Filter.id
是Preference
中的外键,因此所有关联都是OneToMany
。是否可以使用简单的查询删除一个Person:
Delete from Person p where p.id= 34;
如果不能成功删除,该查询应该是什么样子?如果应用程序中的数据库由Hibernate管理,那么应该对每个实体的相关字段应用哪些约束(注释),以便能够使用上述简单查询来执行删除操作?