【问题标题】:Looking for a generic library for interacting with a JPA model [closed]寻找用于与 JPA 模型交互的通用库 [关闭]
【发布时间】:2009-03-20 16:56:34
【问题描述】:

我正在使用 JPA 对象模型构建应用程序,并创建多个数据访问对象以与该模型进行交互。我发现我在不同的数据访问对象之间重复了很多代码(本质上是 CRUD)。唯一不同的是目标 JPA 类。

我想知道是否有人知道可以与任何 JPA 模型一起使用并会生成必要的 DAO(或 CRUD 操作)的抽象库。当然支持所有的一对一、一对多、多对一和多对多关系。

谢谢

PS - 即使它不是用于 JPA 模型的,你知道这样的库吗?

【问题讨论】:

  • 我没有使用 DAO 的经验,但这听起来是一个很好的泛型用例。

标签: java jpa crud dao


【解决方案1】:

您可以使用泛型并将您的 DAO 编码为接口。 Spring Documentation 解释了这一点。

【讨论】:

    【解决方案2】:

    我建议你看看这篇文章:http://www.ibm.com/developerworks/java/library/j-genericdao.html

    它解释了一种使用 Hibernate 和 Spring AOP 实现通用 DAO 的模式,但可以很容易地适应 JPA 命名查询(以及基于 AspectJ 的 AOP,如果您不想使用 Spring)。

    基于 Java 反射 API,该概念具有很强的可扩展性。例如,我见过使用带注释的方法参数作为命名参数的实现。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      如果您想使用针对 Eclipse RCP 应用程序的 JPA 数据模型快速开发您的应用程序,您可以查看 http//www.adichatz.org。目前它仅适用于 Jboss 或 Java SE 模式。

      【讨论】:

        【解决方案5】:

        使用 JPA 或 Hibernate 的 DAO 毫无意义。 DAO 的存在是为了隐藏数据库的复杂性中的其他代码。这就是 JPA 和 Hibernate 所做的,非常好。 那么,为什么要在 DAO 层中添加 DAO?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-17
          • 1970-01-01
          • 1970-01-01
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多