我正在使用JPA对象模型构建应用程序,并创建多个数据访问对象以与该模型进行交互。我发现我在不同的数据访问对象之间重复了很多代码(本质上是CRUD)。唯一不同的是目标JPA类。
我想知道是否有人知道可以与任何JPA模型一起使用的抽象库,并且会产生必要的DAO(或CRUD操作)。当然支持所有一对一,一对多,多对一和多对多的关系。
由于
PS - 即使不是JPA模型,你知道这样的库吗?
答案 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)
我也在寻找通用的DAO库。这是我发现的。
库:
文章:
答案 4 :(得分:-1)