数据库的外键关联删除对象时相当的慢,会去查看每一个关联的表的每条记录,这样当一个表被很多表引用时,删除这个表中的记录的代价是相当大的。hibernate的对象关联默认会在两个表之间做外键关联,而它的级联删除却没有用数据库的这种特性,这是个相当明智的决定。hibernate用两条delete来完成同样的功能,如果数据库还存在外键的话,那么有一条delte是很慢的,我们手动把数据库的外键关联删除掉速度就相当快了。
这样我们在程序级别利用了级联的便利性,而性能上又没有什么损失。
hibernate级联
数据库不外键关联