Hibernate One to One Example using XML
There are two ways to perform one to one mapping in hibernate:
- By many-to-one element (using unique=”true” attribute)
- 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
Output
Fetch.java
Output
Download