text
cyber space for sharing the day to day technology related learning and working experiences with interested parties. http://www.chathurangaonline.com
Thursday, October 10, 2013
SOAP Vs RESTFul Web Services
Saturday, October 5, 2013
One To Many Mapping example (Hibernate/JPA) annotations
Look at the following ER diagram.
by looking at the ER diagram, we can find the following relationship between two entities.
1. Lecturer can teach many courses
2. A course can be taught by only one lecturer
there are two possible ways to map the relationship between these two entities.
1. Mapping as One - To - Many Bidirectional Relationship
In this way, we maintain the mapping in both entities. since the relationship is maintained in both side, it is possible to navigate to both directions.
Lecturer.java
In this way, we do not maintain the mapping in both entities, we only maintain the mapping relationship in the owner entity.
Here the owner entity of the relationship is Course. therefore we maintain only the relationship from Course to Lecturer. on the other hand, Lecturer to Course relationship is not maintained.
Lecturer.java
Hope this will be helpful for you!
Cheers
Chathuranga Tennakoon
chathuranga.t@gmail.com
by looking at the ER diagram, we can find the following relationship between two entities.
1. Lecturer can teach many courses
2. A course can be taught by only one lecturer
there are two possible ways to map the relationship between these two entities.
1. Mapping as One - To - Many Bidirectional Relationship
In this way, we maintain the mapping in both entities. since the relationship is maintained in both side, it is possible to navigate to both directions.
Lecturer.java
package com.chathurangaonline.examples.model; import javax.persistence.*; import java.io.Serializable; import java.util.List; @Entity @Table(name = "Lecturer") public class Lecturer implements Serializable{ @Id @GeneratedValue @Column(name = "id") private Long id; @Column(name = "name") private String lecName; @OneToMany(fetch = FetchType.LAZY,cascade = CascadeType.PERSIST,mappedBy = "lecturer") private List<Course> courseList; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public List<Course> getCourseList() { return courseList; } public void setCourseList(List<Course> courseList) { this.courseList = courseList; } public String getLecName() { return lecName; } public void setLecName(String lecName) { this.lecName = lecName; } }Course.java
package com.chathurangaonline.examples.model; import javax.persistence.*; import java.io.Serializable; @Entity @Table(name = "Course") public class Course implements Serializable{ @Id @GeneratedValue @Column(name = "id") private Long id; @Column(name = "course_name") private String courseName; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "lecturer_id") private Lecturer lecturer; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public Lecturer getLecturer() { return lecturer; } public void setLecturer(Lecturer lecturer) { this.lecturer = lecturer; } }2 . Mapping as One - To - Many Unidirectional relationship
In this way, we do not maintain the mapping in both entities, we only maintain the mapping relationship in the owner entity.
Here the owner entity of the relationship is Course. therefore we maintain only the relationship from Course to Lecturer. on the other hand, Lecturer to Course relationship is not maintained.
Lecturer.java
package com.chathurangaonline.examples.model; import javax.persistence.*; import java.io.Serializable; @Entity @Table(name = "Lecturer") public class Lecturer implements Serializable{ @Id @GeneratedValue @Column(name = "id") private Long id; @Column(name = "name") private String lecName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getLecName() { return lecName; } public void setLecName(String lecName) { this.lecName = lecName; } }Course.java
package com.chathurangaonline.examples.model; import javax.persistence.*; import java.io.Serializable; @Entity @Table(name = "Course") public class Course implements Serializable{ @Id @GeneratedValue @Column(name = "id") private Long id; @Column(name = "course_name") private String courseName; @ManyToOne(fetch = FetchType.LAZY,cascade = CascadeType.ALL) @JoinColumn(name = "lecturer_id") private Lecturer lecturer; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public Lecturer getLecturer() { return lecturer; } public void setLecturer(Lecturer lecturer) { this.lecturer = lecturer; } }
Hope this will be helpful for you!
Cheers
Chathuranga Tennakoon
chathuranga.t@gmail.com
Thursday, October 3, 2013
JAX-WS Web Service Unit testing with TestNg / JUnit
text
Subscribe to:
Posts (Atom)