One-to-one mapping using a common join table
In this method, we will use a third table that contains the relationship between the employee and detail tables. In other words, the third table will hold a primary key value of both tables to represent a relationship between them.
Getting ready
Use the following script to create the tables and classes. Here, we use Employee
and EmployeeDetail
to show a one-to-one mapping using a common join table:
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 detail
table:
CREATE TABLE `detail` ( `detail_id` bigint(20) NOT NULL AUTO_INCREMENT, `city` varchar(255) DEFAULT NULL, PRIMARY KEY (`detail_id`) );
Use the following script to create the employee
table:
CREATE TABLE `employee` ( `employee_id` BIGINT(20) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) DEFAULT NULL, PRIMARY KEY (`employee_id`) );
Use the following script to create the employee_detail
table...