I will soon build a small web project. The project will enable query, search, and display digital images and their metadata. The metadata will be stored in a relational database. The system will also perform unicode searching on the metadata using Lucene. Later, we will provide for updates (full Crud). For now, queries will be suffient. I am experienced with SQL and JDBC.
What do you all think? Should I use Hibernate? Is it stable? Do you find yourself debugging database persistence framework code? Or do you think it is worth using, even for simpler projects? Or would a few data access objects with some raw SQL turn the trick a lot faster?
If it's worth for your project to learn hibernate i can not tell. Perhaps a simpler (more JDBC oriented) framework like iBatis is easier to learn. I do not think your project would be hurt by using hibernate... so if you get the time to learn (it's not that complicated to get it up and running with basic operations but it takes some rading andd experimenting) i would do so...
Remember that 80% of a programs life is maintainance. The program is bound to change, and that usually means growing. So even though the program is going to start small you have no idea where it may end up. I would say Hibernate is would be a good choice.
Joined: Apr 08, 2003
Thanks for your replies. I think for now I will go with iBatis, then learn Hibernate as I go along and perhaps eventually switch to it. I have not been coding for a while and do not have the confidence that more senior developers have in using a persistence layer that hides more of itself under the hood. As we move on, our app gets bigger, and as I get more comfortable with Hibernate and do not have to show immediate results, I will likely make the switch. A true persistence layer that enables saving of object graphs is a good thing if one is comfortable with it.