01.package com.vaannila.student;02. 03.// Generated Sep 3, 2009 8:47:06 PM by Hibernate Tools 3.2.4.GA04. 05./**06.* This class contains student's phone number07.* details.08.*/09.public class Phone implements java.io.Serializable {10. 11.private long phoneId;12.private String phoneType;13.private String phoneNumber;14. 15.public Phone() {16.}17. 18.public Phone(String phoneType, String phoneNumber) {19.this.phoneType = phoneType;20.this.phoneNumber = phoneNumber;21.}22. 23.public long getPhoneId() {24.return this.phoneId;25.}26. 27.public void setPhoneId(long phoneId) {28.this.phoneId = phoneId;29.}30. 31.public String getPhoneType() {32.return this.phoneType;33.}34. 35.public void setPhoneType(String phoneType) {36.this.phoneType = phoneType;37.}38. 39.public String getPhoneNumber() {40.return this.phoneNumber;41.}42. 43.public void setPhoneNumber(String phoneNumber) {44.this.phoneNumber = phoneNumber;45.}46. 47.}01.package com.vaannila.student;02. 03.import java.util.HashSet;04.import java.util.Set;05. 06.import org.hibernate.HibernateException;07.import org.hibernate.Session;08.import org.hibernate.Transaction;09. 10.import com.vaannila.util.HibernateUtil;11. 12.public class Main {13. 14.public static void main(String[] args) {15.Session session = HibernateUtil.getSessionFactory().openSession();16.Transaction transaction = null;17.try {18.transaction = session.beginTransaction();19. 20.Set<Phone> phoneNumbers = new HashSet<Phone>();21.phoneNumbers.add(new Phone("house","32354353"));22.phoneNumbers.add(new Phone("mobile","9889343423"));23. 24.Student student = new Student("Eswar", phoneNumbers);25.session.save(student);26. 27.transaction.commit();28.} catch (HibernateException e) {29.transaction.rollback();30.e.printStackTrace();31.} finally {32.session.close();33.}34. 35.}36. 37.}
Create the Main class to run the example.
01.package com.vaannila.student;02. 03.import java.util.HashSet;04.import java.util.Set;05. 06.import org.hibernate.HibernateException;07.import org.hibernate.Session;08.import org.hibernate.Transaction;09. 10.import com.vaannila.util.HibernateUtil;11. 12.public class Main {13. 14.public static void main(String[] args) {15.Session session = HibernateUtil.getSessionFactory().openSession();16.Transaction transaction = null;17.try {18.transaction = session.beginTransaction();19. 20.Set<Phone> phoneNumbers = new HashSet<Phone>();21.phoneNumbers.add(new Phone("house","32354353"));22.phoneNumbers.add(new Phone("mobile","9889343423"));23. 24.Student student = new Student("Eswar", phoneNumbers);25.session.save(student);26. 27.transaction.commit();28.} catch (HibernateException e) {29.transaction.rollback();30.e.printStackTrace();31.} finally {32.session.close();33.}34. 35.}36. 37.}
On executing the Main class you will see the following output.
The STUDENT table has one record.
The PHONE table has two records.
The STUDENT_PHONE table has two records to link the student and phone numbers.
A single student record points to two phone numbers, this illustrates the one-to-many mapping.
The folder structure of the example is shown below.




No comments:
Post a Comment