跳转到内容

Java 持久化/为什么要使用 JPA 或 ORM?

来自维基教科书,开放的书籍,开放的世界

为什么要使用 JPA 或 ORM?

[编辑 | 编辑源代码]

这是一个有趣的问题。有很多理由使用 ORM 框架或持久化产品,以及很多理由特别使用 JPA。

ORM 的理由

[编辑 | 编辑源代码]
  • 消除 Java 中从 SQL ResultSet 到 Java POJO 的所有“手动”映射,从而大大减少映射工作量。
  • 减少了域数据模型和/或关系数据模型更改时对持久化代码库所需的工作量。
  • 利用大型持久化库来避免开发其他人已经解决的问题的解决方案。
  • 避免低级别的 JDBC 和 SQL 代码。
  • 利用面向对象编程和对象模型的使用。
  • 提供数据库和模式独立性。
  • 大多数 ORM 产品都是免费的开源软件。
  • 许多企业公司为 ORM 产品提供支持和服务。
  • 提供高端性能特性,例如缓存和复杂的数据库和查询优化。

JPA 的理由

[编辑 | 编辑源代码]
  • 它是 EJB3 和 Java EE 的标准和一部分。
  • 许多免费的开源产品,具有企业级支持。
  • 在应用服务器和持久化产品之间的可移植性(避免供应商锁定)。
  • 一个可用且实用的规范。
  • 支持 Java EE 和 Java SE。

ORM 对某些人来说可能是一个热门话题,并且存在许多 ORM 阵营。有些人支持特定的标准或产品。有些人不同意 ORM 甚至不赞成对象,他们更喜欢 JDBC。有些人仍然认为面向对象数据库是最好的方法。我个人建议你使用你最舒服的技术,但如果你从未使用过 ORM 或 JPA,也许可以试一试,看看你是否喜欢。以下列表提供了关于是否使用 JPA 和 ORM 的讨论。

关于 JPA 和 ORM 使用的讨论

[编辑 | 编辑源代码]
华夏公益教科书