Now create the hibernate configuration file and add all the mapping files.
01.<?xml version="1.0" encoding="UTF-8"?>02.<!DOCTYPE hibernate-configuration PUBLIC03."-//Hibernate/Hibernate Configuration DTD 3.0//EN"05.<hibernate-configuration>06.<session-factory>07.<property name="hibernate.connection.driver_class"> org.hsqldb.jdbcDriver </property>08.<property name="hibernate.connection.url"> jdbc:hsqldb:hsql://localhost<;/property>09.<property name="hibernate.connection.username">sa</property>10.<property name="connection.password"></property>11.<property name="connection.pool_size">1</property>12.<property name="hibernate.dialect"> org.hibernate.dialect.HSQLDialect </property>13.<property name="show_sql">true</property>14.<property name="hbm2ddl.auto">create-drop</property>15.<mapping resource="com/vaannila/student/Student.hbm.xml"/>16.<mapping resource="com/vaannila/student/Address.hbm.xml"/>17.</session-factory>18.</hibernate-configuration>
After creating the configuration file, generate java class files using Hibernate Tools.(To generate code using Hibernate Tools refer this example )
The following classes will be generated.
package com.vaannila.student;02. 03.// Generated Sep 3, 2009 7:20:37 PM by Hibernate Tools 3.2.4.GA04. 05./**06.* This class contains student details.07.*/08.public class Student implements java.io.Serializable {09. 10.private long studentId;11.private String studentName;12.private Address studentAddress;13. 14.public Student() {15.}16. 17.public Student(String studentName, Address studentAddress) {18.this.studentName = studentName;19.this.studentAddress = studentAddress;20.}21. 22.public long getStudentId() {23.return this.studentId;24.}25. 26.public void setStudentId(long studentId) {27.this.studentId = studentId;28.}29. 30.public String getStudentName() {31.return this.studentName;32.}33. 34.public void setStudentName(String studentName) {35.this.studentName = studentName;36.}37. 38.public Address getStudentAddress() {39.return this.studentAddress;40.}41. 42.public void setStudentAddress(Address studentAddress) {43.this.studentAddress = studentAddress;44.}45. 46.}01.package com.vaannila.student;02. 03.// Generated Sep 3, 2009 7:20:37 PM by Hibernate Tools 3.2.4.GA04. 05./**06.* This class contains the student's address07.* details.08.*/09.public class Address implements java.io.Serializable {10. 11.private long addressId;12.private String street;13.private String city;14.private String state;15.private String zipcode;16. 17.public Address() {18.}19. 20.public Address(String street, String city, String state, String zipcode) {21.this.street = street;22.this.city = city;23.this.state = state;24.this.zipcode = zipcode;25.}26. 27.public long getAddressId() {28.return this.addressId;29.}30. 31.public void setAddressId(long addressId) {32.this.addressId = addressId;33.}34. 35.public String getStreet() {36.return this.street;37.}38. 39.public void setStreet(String street) {40.this.street = street;41.}42. 43.public String getCity() {44.return this.city;45.}46. 47.public void setCity(String city) {48.this.city = city;49.}50. 51.public String getState() {52.return this.state;53.}54. 55.public void setState(String state) {56.this.state = state;57.}58. 59.public String getZipcode() {60.return this.zipcode;61.}62. 63.public void setZipcode(String zipcode) {64.this.zipcode = zipcode;65.}66. 67.}01.package com.vaannila.student;02. 03.import org.hibernate.HibernateException;04.import org.hibernate.Session;05.import org.hibernate.Transaction;06. 07.import com.vaannila.util.HibernateUtil;08. 09.public class Main {10. 11.public static void main(String[] args) {12.Session session = HibernateUtil.getSessionFactory().openSession();13.Transaction transaction = null;14.try {15.transaction = session.beginTransaction();16.Address address = new Address("OMR Road", "Chennai", "TN","600097");17.//By using cascade=all option the address need not be saved explicitly when the student object is persisted the address will be automatically saved.18.//session.save(address);19.Student student1 = new Student("Eswar", address);20.Student student2 = new Student("Joe", address);21.session.save(student1);22.session.save(student2);23.transaction.commit();24.} catch (HibernateException e) {25.transaction.rollback();26.e.printStackTrace();27.} finally {28.session.close();29.}30. 31.}32. 33.}
On executing the Main class you will see the following output.
The Student table has two records.
The Address table has one record.



No comments:
Post a Comment