I see lot of implementation technique about spring jpa(jpatemplate,japdaosupport spring-data-jpa ,native way entitymanager,HibernateSupport,ect ),which one is best technique for developing Generic DAO ,that should be clean resource allocation ,transaction management , and high performance . what are pros and cons
scenario
I think the best way would be to stick to the @PersistentContext to handle instances of EntityManagers, and inject them into some third party generic dao. You could write one on your own, use spring-data as mentioned by @Ralph or try libraries like Hades.