是否有任何良好的通用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实现:

Querydsl支持JPA,并且为构建查询的复杂谓词提供了广泛的支持。

它不支持更新和插入,但您可以使用Spring Data,因为Querydsl还与Spring存储库集成。