是否有任何良好的通用JPA DAO实现?
根据这篇文章 ,通用JPA DAO(数据访问对象)是一个非常好的模式。
有没有好的实施?
您可以查看Spring Data JPA 。
Spring Data JPA中引入了一些新概念,例如基于方法名称的查询创建,因此您可以声明类似于findById(String id)
,而“generic”实现将解释方法的名称并执行类似select Entity from Entity where id = 'given string'
也支持findByNameAndLastName(String name, String lastName)
甚至findByNameOrInternalId(String name, int internalId)
等方法。
只是想为JPA提一些更通用的dao实现:
- 通用DAO工具包 – http://code.google.com/p/generic-dao/
- SO中的相关问题 – 单DAO和通用CRUD方法(JPA / Hibernate + Spring)
- 关于JPA DAO的一篇很好的博客文章 – http://blog.xebia.com/2009/03/09/jpa-implementation-patterns-data-access-objects/
Querydsl支持JPA,并且为构建查询的复杂谓词提供了广泛的支持。
它不支持更新和插入,但您可以使用Spring Data,因为Querydsl还与Spring存储库集成。
- 在Room中创建Generic DAO接口时,“参数的类型必须是使用@Entity注释的类”
- 指定对DAO方法的排序
- 如何使用Hibernate Context会话创建Generic DAO类
- 使用Annotations使用Spring Hibernate编写更少的DAO
- 在以下示例中使用抽象工厂而不是工厂方法有什么好处?
- 处理服务层中的Daoexception
- 测试DAO时出错:sun.reflect.generics.reflectiveObjects.TypeVariableImpl无法强制转换为java.lang.Class
- Hibernate工具 – DAO生成
- 用于DAO和Web服务的数据库插入方法的Junit测试用例