gpt4 book ai didi

oracle - 去除外键约束、参照完整性和 hibernate

转载 作者:行者123 更新时间:2023-12-01 07:08:30 25 4
gpt4 key购买 nike

我的同事提到我们的客户 DBA 建议删除我们项目 Oracle DB 模式中的所有外键约束。起初我不同意这个决定。我是开发人员而不是 DBA。所以后来意识到这个决定背后可能有一些原因。所以我试图了解这个决定的利弊。

项目信息:

  • 具有 Hibernate 持久性的 Spring 应用程序。
  • Oracle 10g 数据库
  • 有批处理作业仅使用 SQL 加载程序或普通 JDBC。

  • 这是我的利弊列表(如果我错了,请纠正我)

    优点:
  • 由于应用程序持久化由 Hibernate 管理,因此不需要外键级联。它由具有适当级联选项的 Hibernate 管理。
  • Hibernate DELETE 操作(包括删除级联选项)在删除其主键记录之前删除外键表记录(即避免参照完整性问题)。对于无外键情况、外键情况和外键级联情况,此行为是相同的。但是添加外键会不必要地减慢 Oracle 删除操作的速度。

  • 缺点
  • Hibernate 提供了一种机制来管理对象之间的关联以及关联内的级联操作。但它从未提供 DB 拥有的完整参照完整性解决方案。
  • 那些仅使用 SQL 加载程序或普通 JDBC 的批处理作业需要参照完整性。

  • 伙计们,我需要你们的建议。如果你们中的任何人是 DBA,请提供 DBA 方面的原因。

    谢谢你。

    最佳答案

    我有 从不以前从 DBA 那里听到过这样的提议!来自应用程序开发人员,是的,但绝不会来自 数据库管理员 .它乞求信仰。

    Tom Kyte 曾多次说过(例如 here ):应用程序来来去去,但数据是永恒的。

    根据我自己的经验,我曾在 20 多年历史的 Oracle 数据库上工作过。他们从 Oracle 6 开始,多年来一直迁移到 10G 或 11g - 相同的数据。但是最重​​要的应用程序呢?首先是 Forms 3.0,然后在某些情况下迁移到 C++,在某些情况下在 Forms 6i 中重新构建,在一些情况下在 Application Express 中重新构建。 ADF 当然是另一种可能性;或者可能是 SOA 架构...

    当前有什么特别之处?应用开发它突然接管了 Oracle 作为 DBMS 的工作的工具?

    关于oracle - 去除外键约束、参照完整性和 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210513/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com