【问题标题】:Automatic data access layer generation [closed]自动数据访问层生成[关闭]
【发布时间】:2012-02-10 20:05:15
【问题描述】:
Hibernate 和 eclipselink 是最流行的 Java DAL 框架。据我了解,他们将程序员创建的对象映射到自动创建的数据库关系和存储过程。
与使用这种方法相比有什么优缺点:
编写自己的 DAL,假设我的项目是中小型项目。
找到一个框架(如果存在?),它会以另一种方式 - 从数据库关系和存储过程创建类。
就个人而言,我觉得推理数据库关系而不是 Java(或任何编程语言)类更舒服。
【问题讨论】:
标签:
java
database
hibernate
eclipselink
data-access-layer
【解决方案1】:
你对 JPA 的理解是错误的。 JPA(其中 Hibernate 和 EclipseLink 是两个实现)是一个 ORM:对象关系映射器。有些人更喜欢设计 Java 对象并从这些对象中推断出数据库模式。其他人更喜欢设计一个数据库模式,并从这个模式中推断出 Java 对象。
这两种方法都是可能的,JPA 不假设其中任何一种方法。它指定 Java 对象及其关联如何/必须映射到表。
比编写自己的 DAL 的优势:
- 你不必,
- 效率更高
- 它是标准的,很多开发人员都知道它是如何工作的
- 设计更好,错误更少
- 您学到的知识将用于许多其他项目
相对于寻找从数据库关系创建类的框架的优势: