Your DAO must be based on an interface, which means that an implementation is a choice that you can change as you wish by including a new implementation. Clients should only know about the DAO interface.
If this is correct, I do not understand your question. Your DAO is the interface; JPA will be one implementation that you choose among many. It is not either / or; this is an interface / implementation.
source share