【问题标题】:Oracle procedure to java batchOracle 过程到 java 批处理
【发布时间】:2020-06-28 07:50:35
【问题描述】:

我有一个大约 2000 行的 Oracle 程序,其中包含大量的插入、更新、连接、选择、大量的“插入到带有多个复杂连接的选择”中,我想将其转换为 java 批处理。我有多种选择来完成这项工作。

  1. 普通 JDBC
  2. Spring JDBC 模板
  3. 休眠
  4. 春季 JPA

我能够使用简单的普通 JDBC 将程序转换为 JAVA,并且运行良好。我优化了代码,看起来还不错。但我想考虑其他替代方案,比如使用 Hibernate 或 JDBC 模板。只需要建议,cmets 在hibernate上重写它。你建议让它使用纯 JDBC 还是选择任何 ORM 框架? 选择 Hibernate 或 JDBC 模板的优缺点? Hibernate 是否适用于复杂的连接和“插入选择”??

【问题讨论】:

    标签: java spring oracle hibernate jdbc


    【解决方案1】:

    这些问题没有是/否的答案。想建议这个链接供您分析: Spring-JDBC-JPA vs Hibernate

    这是关于分析关系模型是否可以在 OO 模型中表示,如果您使用像 Hibernate 这样的 ORM 而不会导致复杂性。如果关系模型很复杂,建议使用带有原生 SQL 的 Spring JDBC。 Spring JDBC 处理诸如打开/关闭数据库连接、异常处理等样板问题,这些问题需要您在普通的旧 JDBC 世界中处理。

    如果您需要对 SQL 进行控制,既然您提到了复杂的连接,最好编写本机 SQL。如果您确实确定关系模型已正确转换为健壮的 OO 模型,并且您确信 hibernate 生成的 SQL 已根据您的外键映射进行了优化,那么请选择 hibernate。当然,Hibernate 中有许多其他 ORM 中没有的便捷功能。同样,它是关于您要将控制权转移到开发人员或框架的位置。这些是我的谦虚建议。

    如有遗漏请指正。

    我没有从事过 JPA 工作,因此其他开发专家可能会对此发表评论。

    【讨论】:

    • 除了异常处理之外,数据库连接自动关闭弹簧 jdbctemplate 有什么优势....请详细说明“等”
    • 这不是关于框架的优点/缺点,而是它如何适合您正在解决的问题。在hibernate中,学习曲线陡峭,你必须真正知道实体是经过精心设计的,只有有效使用才能获得好处。这不是Hibernate的缺点,而是开发过程。财政年度:stackoverflow.com/questions/11791145/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多