I think This is my 1st post on something related to java… Its not that I hated the language before, but I used rather C++ /.NET and PHP for my earlier work. With my Internship, it would be correct if i say that I said Hello World to the actual Java environment. Its true for my collage Assignments, that I have done some java work, but well it cannot be counted… Anyhow Its been almost 2 months, I am having hands on experience on Java programming or rather more in J2ME and j2EE.
With all the APIs and the systematic documentations of those APIs.. and also with plenty of online help..I must say my life was so easy past few weeks.
As a part of my work package I had to develop a tracking system based on GPS positioning. My self and two more guys work on the project and we developed a server and a mobile client for this task. (this is a small part of a European union project called s3ms). What I thought of writing here today… is about the nice Framework we used, to handle the database.
Well it’s not something new, its been used in almost all the java projects carried out in my company… Hibernate is an Object to relational Mapping (ORM) system for java. Hibernate provides a framework which maps the object oriented model to a relational database. Some of the main benefits by using Hibernate is that it makes the application portable on any SQL database.
Hibernate keeps the details of the database in its configuration file hibernate.cfg.xml and by editing few fields in this xml file, makes it possible to transport the application from one database to another. Hibernate mapping is done via xml files which is named name.hbm.xml and in these files the mapping of Java data types to SQL data types are done. you can define the relationships of the tables also in these files using relationship tags. (<many-to-one>) .
I have found a good tutorial on Hibernate in Gary’s Blog.. if you are interested more, those tutorials will be a great help. I should also note that Hibernate provides tools (Hibernate tools) for Eclipse IDE as plugins to generate Java Classes and xml mapping files looking at the database tables.
The founders of Hibernate is also providing a similar framework which is very much the same in practice. Its called NHibernate and used in the .NET platform for database handling. Both the Frameworks are Licensed GPL and LGPL respectively.
So for the people who are like me who were doing the database handling in the usual and the traditional way… Hibernate will surely make your work much easer…