Javatpoint Logo

91-9990449935

 0120-4256464

One to One Mapping in Hibernate by one-to-one example

As We have discussed in the previous example, there are two ways to perform one to one mapping in hibernate:

  • By many-to-one element
  • By one-to-one element

Here, we are going to perform one to one mapping by one-to-one element. In such case, no foreign key is created in the primary table.

In this example, one employee can have one address and one address belongs to one employee only. Here, we are using bidirectional association. Let's look at the persistent classes.

1) Persistent classes for one to one mapping

There are two persistent classes Employee.java and Address.java. Employee class contains Address class reference and vice versa.

Employee.java

Address.java


2) Mapping files for the persistent classes

The two mapping files are employee.hbm.xml and address.hbm.xml.

employee.hbm.xml

In this mapping file we are using one-to-one element in both the mapping files to make the one to one mapping.

address.hbm.xml

This is the simple mapping file for the Address class. But the important thing is generator class. Here, we are using foreign generator class that depends on the Employee class primary key.


3) Configuration file

This file contains information about the database and mapping file.

hibernate.cfg.xml


4) User classes to store and fetch the data

Store.java

Fetch.java