0

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

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

谢谢

PS - 即使不是 JPA 模型,您是否知道这样的库?

4

5 回答 5

2

您可以使用泛型并将您的 DAO 编码为接口。Spring 文档对此进行了解释。

于 2009-03-20T17:39:39.150 回答
2

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

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

基于 Java 反射 API,这个概念是非常可扩展的。例如,我见过使用带注释的方法参数作为命名参数的实现。

于 2009-03-21T01:59:48.840 回答
0

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

于 2009-12-01T08:31:53.937 回答
-1

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

于 2009-09-23T21:43:26.833 回答