Search

Hibernate Component Mapping Using Annotations Part -1

In this example you will learn how to map components using Hibernate Annotations. Consider the following relationship between Student and Address entity.





According to the relationship each student should have a unique address.
Since the Student and Address entities are strongly related (composition relation), it is better to store them in a single table. The relational model is shown below.




Student class is used to create the STUDENT table.

01.package com.vaannila.student;
02. 
03.import javax.persistence.Column;
04.import javax.persistence.Embedded;
05.import javax.persistence.Entity;
06.import javax.persistence.GeneratedValue;
07.import javax.persistence.Id;
08.import javax.persistence.Table;
09. 
10.@Entity
11.@Table(name = "STUDENT")
12.public class Student {
13. 
14.private long studentId;
15.private String studentName;
16.private Address studentAddress;
17. 
18.public Student() {
19.}
20. 
21.public Student(String studentName, Address studentAddress) {
22.this.studentName = studentName;
23.this.studentAddress = studentAddress;
24.}
25. 
26.@Id
27.@GeneratedValue
28.@Column(name = "STUDENT_ID")
29.public long getStudentId() {
30.return this.studentId;
31.}
32. 
33.public void setStudentId(long studentId) {
34.this.studentId = studentId;
35.}
36. 
37.@Column(name = "STUDENT_NAME", nullable = false, length = 100)
38.public String getStudentName() {
39.return this.studentName;
40.}
41. 
42.public void setStudentName(String studentName) {
43.this.studentName = studentName;
44.}
45. 
46.@Embedded
47.public Address getStudentAddress() {
48.return this.studentAddress;
49.}
50. 
51.public void setStudentAddress(Address studentAddress) {
52.this.studentAddress = studentAddress;
53.}
54. 
55.}

No comments:

Post a Comment