A Mahindra-Satyam Short Term Project
Institute Of Management Technology, Ghaziabad
A) Title of the Project
To make a Comparative study of persistent technologies in Java. There are many persistent technologies like J DBC, EJB, Hibernate, iBatis, JPA , JDO etc.., a comparative study of these technologies and which one is suitable for a given situation.
B) Objective of the Project
The project gives an overview of the different persistent technologies in Java and makes a comparative study of the different technologies.It analyses under which conditions a particular persistent technology is suitable and when it is ill suited along with its benefits and shortcomings.
C) Scope of the Project
The project compares EJB, Hibernate, iBatis, JPA and a comparison of Hibernate vs JDBC.It also compares the top IT companies of India.
D) Limitations of the project
It doesn’t compare all the available persistent java technologies but selectively compares EJB,Hibernate ,iBatis,JPA.
E) Research methodology
The research methodology is causal in nature and the sources used for collecting information is secondary in nature. The data was complied with the help of sources like News articles, Internet, ProQuest databases
Technological overview of Persistence technologies in java
Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.Hibernate is free software that is distributed under the GNU Lesser General Public License. Hibernate's primary feature is mapping from Java classes to database tables (and from Java data types to SQL data types). Hibernate also provides data query and retrieval facilities. Hibernate generates the SQL calls and attempts to relieve the developer from manual result set handling and object conversion and keep the application portable to all supported SQL databases with little performance overhead. Mapping: Mapping Java classes to database tables is accomplished through the configuration of an XML file or by using Java Annotations(An annotation, in the Java computer programming language, is a special form of syntactic metadata that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Unlike Javadoc tags, Java annotations can be reflective in that they can be embedded in class files generated by the compiler and may be retained by the Java VM to be made retrievable at run-time). When using an XML file, Hibernate can generate skeletal source code for the persistence classes. This is unnecessary when annotation is used. Hibernate can use the XML file or the annotation to maintain the database schema. Facilities to arrange one-to-many and many-to-many relationships between classes are provided. In addition to managing association between objects, Hibernate can also manage reflexive associations where an object has a one-to-many relationship with other instances of its own type. Hibernate supports the mapping of custom value types. This makes the following scenarios possible: * Overriding the default SQL type that Hibernate chooses when mapping a column to a property. * Mapping Java Enum to columns as if they were regular properties. * Mapping a single property to multiple columns
Persistence: Hibernate provides transparent persistence for Plain Old Java Objects(POJOs). The only strict requirement for a persistent class is a no-argument constructor, not necessarily public. Proper behavior in some applications also requires...