寻找用于与JPA模型交互的通用库

时间:2009-03-20 16:56:35

标签: java jpa crud dao

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

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

由于

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

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

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

基于Java Reflection API,这个概念非常具有可扩展性。例如,我看到使用带注释的方法参数作为命名参数的实现。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

答案 4 :(得分:-1)

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