自动生成数据访问层



Hibernate和eclipselink是Java最流行的DAL框架。据我所知,它们将程序员创建的对象映射到自动创建的数据库关系和存储过程。

使用这种方法与相比有什么优点和缺点

  1. 写你自己的DAL,假设我的项目是中小型的。

  2. 找到一个框架(如果存在?),它将以另一种方式——从数据库关系和存储过程创建类。

就我个人而言,与Java(或任何编程语言)类相比,我更愿意对数据库关系进行推理。

您对JPA的理解是错误的。JPA(Hibernate和EclipseLink是其中的两个实现)是一个ORM:对象关系映射器。有些人更喜欢设计Java对象,并从这些对象推导出数据库模式。其他人更喜欢设计数据库模式,并从该模式推导Java对象。

这两种方法都是可能的,JPA不假设任何一种方法。它指定Java对象及其关联可以/必须如何映射到表。

与编写自己的DAL相比的优势:

  • 你不必
  • 它的效率要高得多
  • 它是标准的,很多开发人员都知道它是如何工作的
  • 它设计得更好,bug更少
  • 你学到的东西将用于许多其他项目

与从数据库关系中创建类的框架相比的优势:

  • 不适用:JPA就是这样一个框架

最新更新