2011-10-30 101 views
4

的区别是什么@OnDelete(action=OnDeleteAction.CASCADE)cascade=CascadeType.REMOVE休眠:OnDelete VS级联= CascadeType.REMOVE

之间我读到这里:Is there an equivalent annotation for OnDelete in JPA2@OnDelete(action=OnDeleteAction.CASCADE)级联将由DB进行处理,同时与cascade=CascadeType.REMOVE级联将被处理由ORM(Hibernate)完成。

  1. 你能解释一下Hibernate处理和数据库处理之间有什么区别吗? “数据库”是如何完成的?

  2. 另外,我想知道为什么我应该关心差异。我的意思是,我为什么要选择另一种态度。

  3. 最后一个问题是,看着OnDelete javadoc,我想知道为什么它什么都没说,为什么我应该使用它(顺便说一句,继承路径在哪里?)。那么记录这些点在哪里?

回答

0

1,有些数据库支持级联选项和一些数据库不:如果数据库支持级联,则Hibernate会相应创建模式,让数据库来处理级联。

2-如果数据库句柄级联使用它,其他副Hibernate必须查询数据库,这是一个性能的损失。

3-No idea