I am developing a Java Desktop Application but have some confusions in choosing a technology for my persistence layer.
Till now, I have been using JDBC for DB operations. Now, Recently I learnt Hibernate and JPA but still I am a novice on these technologies.
Now my question is What to use for my Java Desktop Application from the following?
JPA
Hibernate
JDBC
DAO
any other suggestion from you...
I know that there is no best choice from them and it totally depends on the complexity and the requeirements of the project so below are the requirements of my project
- It's not a complex application. It contains only 5 tables (and 5 entities)
- I wan't to make my code flexible so that I can change the database later easily
- The size of the application should remain as small as possible as I will have to distribute it to my clients through internet.
- It must be free to use in commercial development and distribution.
==================================== EDITED =======================================
On the basis of the below answers, I would like to go with JPA so as to prevent myself from writing vendor-specific SQL code.
But I have some problems in JPA which are mentioned at http://stackoverflow.com/questions/2560125/java-persistence-api