One-to-one mapping using foreign key association
In a one-to-one relationship, each row in the first table is linked to exactly one row in another table. If this relationship is applied, we can say that both the tables have an exactly equal number of rows any time.
We will take a look at the unidirectional and bidirectional ways to show a one-to-one relationship between the tables.
Getting ready
Here, we will consider the Person
and PersonDetail
classes to show a demo. So, let's first create the classes and tables for both.
Creating the tables
Use the following script to create the tables if you are not using hbm2dll=create|update
:
Use the following script to create the passport_detail
table:
CREATE TABLE `passport_detail` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `passportno` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) );
Use the following script to create the person
table:
CREATE TABLE `person` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `passport_detail_id...