根据this article,通用JPA DAO(数据访问对象)是一个相当不错的模式。
有没有好的实施?
答案 0 :(得分:7)
您可以查看Spring Data JPA。
Spring Data JPA中引入了一些新概念,例如基于方法名称的查询创建,因此您可以声明类似findById(String id)
的方法,而“泛型”实现将解释方法的名称并执行像select Entity from Entity where id = 'given string'
支持findByNameAndLastName(String name, String lastName)
甚至findByNameOrInternalId(String name, int internalId)
等方法。
答案 1 :(得分:2)
只是想为JPA提一些更通用的dao实现:
答案 2 :(得分:0)
Querydsl支持JPA,并且为构建查询的复杂谓词提供了广泛的支持。
它不支持更新和插入,但您可以使用Spring Data,因为Querydsl还与Spring存储库集成。