JPA Object Relational Mapping
Object Relational Mapping (ORM) is a functionality which is used to develop and maintain a relationship between an object and relational database by mapping an object state to database column. It is capable to handle various database operations easily such as inserting, updating, deleting etc.
ORM Frameworks
Following are the various frameworks that function on ORM mechanism: -
- Hibernate
- TopLink
- ORMLite
- iBATIS
- JPOX
Mapping Directions
Mapping Directions are divided into two parts: -
- Unidirectional relationship - In this relationship, only one entity can refer the properties to another. It contains only one owing side that specifies how an update can be made in the database.
- Bidirectional relationship - This relationship contains an owning side as well as an inverse side. So here every entity has a relationship field or refer the property to other entity.
Types of Mapping
Following are the various ORM mappings: -
- One-to-one - This association is represented by @OneToOne annotation. Here, instance of each entity is related to a single instance of another entity.
- One-to-many - This association is represented by @OneToMany annotation. In this relationship, an instance of one entity can be related to more than one instance of another entity.
- Many-to-one - This mapping is defined by @ManyToOne annotation. In this relationship, multiple instances of an entity can be related to single instance of another entity.
- Many-to-many - This association is represented by @ManyToMany annotation. Here, multiple instances of an entity can be related to multiple instances of another entity. In this mapping, any side can be the owing side.
We will learn about each mapping separately in later section of this tutorial.