Vincent Partington has written a series of blog posts about the JPA implementation patterns he discovered while writing JPA code.
Basic patterns
* Data Access Objects
* Saving (detached) entities
* Retrieving entities
* Removing entities
* Service Facades and Data Transfers Objects
Advanced patterns
* Bidirectional assocations
* Lazy loading
* Bidirectional associations vs. lazy loading
* Using UUIDs as primary keys
* Field access vs. property access
* Mapping inheritance hierarchies
* Testing