Q:

Is there any good generic JPA DAO implemenation?  

According this article, generic JPA DAO(Data Access Object) is a pretty nice pattern.  
Is there any good implementation? 

A:

You could take a look into the Spring Data JPA. 
A few new concepts were introduced into Spring Data JPA, for instance the Query creation based on the method name, so you can declare a method like findById(String id) and the "generic" implementation will interpret the method's name and execute something like select Entity from Entity where id = 'given string'
Methods like findByNameAndLastName(String name, String lastName) or even findByNameOrInternalId(String name, int internalId) are supported too.