【问题标题】:Hibernate: OnDelete vs cascade=CascadeType.REMOVE休眠:OnDelete vs cascade=CascadeType.REMOVE
【发布时间】:2023-03-28 03:59:01
【问题描述】:

@OnDelete(action=OnDeleteAction.CASCADE)cascade=CascadeType.REMOVE有什么区别

我在这里读到:Is there an equivalent annotation for OnDelete in JPA2 @OnDelete(action=OnDeleteAction.CASCADE) 的级联将由 DB 处理,而 cascade=CascadeType.REMOVE 的级联将由 ORM (Hibernate) 处理。

  1. 您能解释一下 Hibernate 处理与 DB 处理之间的区别吗? “由数据库”如何完成?

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

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

【问题讨论】:

    标签: database hibernate jpa annotations


    【解决方案1】:

    1-有些数据库支持级联选项,有些数据库不支持:如果数据库支持级联,那么hibernate会相应地创建模式并让数据库来处理级联。

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

    3-不知道

    【讨论】:

      猜你喜欢
      • 2014-08-22
      • 2015-02-12
      • 2018-05-19
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 2021-04-05
      相关资源
      最近更新 更多