【问题标题】:JPA vs JDBC : Read only access on existing databaseJPA vs JDBC:对现有数据库的只读访问
【发布时间】:2016-01-03 17:02:29
【问题描述】:

我必须为我的项目选择基于 JPA 或 JDBC(包括 Spring-JDBC)的解决方案。

上下文是对固定数据模型进行只读访问的 Java 应用程序。

数据模型是面向事件的:例如,每 5 秒记录一次汽车位置和状态。

我的第一感觉是 JDBC 更适合我们的需求,但我是 JPA 的新手。什么解决方案适合您,为什么?

重复更新:我最关心的是上下文(具有固定数据模型的只读),以了解 JPA 是否适合我的项目,或者它是否太复杂/不适合我的项目

【问题讨论】:

标签: java database jpa jdbc


【解决方案1】:

为什么要重新发明轮子? ORM 产品已经存在了几十年,并使用 JPA 进行了标准化,因此这取决于您要做什么。除非您绝对没有机会以任何方式扩展或重用该项目,否则为什么要通过构建自己的框架来使其变得更加复杂?

任何 ORM 都可以让您集中控制来调整性能选项,甚至说明您想要执行的 SQL,而无需处理连接池、语句创建、缓存等。我会让它为您编写查询,因为它允许您可以根据需要针对不同的数据库运行,甚至可以不死地更改数据库模型,而无需进行重大的应用程序重写。

【讨论】:

  • 我想知道的是,与我们在上下文中从 ORM 获得的实用程序相比,我们增加了复杂性。例如,它能否轻松适应任何数据模型?
【解决方案2】:

如果您必须执行读取操作,您可以使用 JDBC,因为您可以使用它轻松获取所需的数据。 JPA 很好,但我更喜欢 JDBC。

【讨论】:

    【解决方案3】:

    如果您知道自己只会运行一个或多个 SELECT 语句,那么一定要使用 JDBC。

    JPA 旨在用于更复杂的项目,当您希望能够将数据库元素作为 java 对象进行操作时。当然,为方便起见,您需要支付性能费用... JPA 有其开销。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2015-02-02
      • 2010-10-23
      • 2012-10-01
      • 2013-06-06
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2010-09-22
      • 2011-02-21
      相关资源
      最近更新 更多