Map For Class Member Variable
///////////////////////////////////////////////////////////////////////// import java.util.*; import org.hibernate.*; import org.hibernate.criterion.*; public class SimpleRetrieveTest { public static void main(String[] args) { HibernateUtil.setup("create table EVENTS ( uid int, name VARCHAR, start_Date date, duration int, location_id int);"); HibernateUtil.setup("create table locations ( uid int, name VARCHAR, street_address VARCHAR, city VARCHAR, state VARCHAR, zip_Code VARCHAR);"); // hibernate code start Session session = HibernateUtil.currentSession(); Transaction tx = session.beginTransaction(); Location location = new Location(); location.setName("USA"); location.getAddress().setStreetAddress("St."); location.getAddress().setCity("Regina"); location.getAddress().setState("SK"); location.getAddress().setZipCode("22204"); Event event = new Event(); event.setName("Annual Meeting"); event.setDuration(60); event.setStartDate(createDate(2004, 11, 1)); event.setLocation(location); // session.save(location); session.save(event); tx.commit(); HibernateUtil.closeSession(); HibernateUtil.sessionFactory.close(); HibernateUtil.checkData("select * from events"); HibernateUtil.checkData("select * from locations"); // hibernate code end } private static Date createDate(int year, int month, int day) { Calendar calendar = Calendar.getInstance(); calendar.set(year, month, day); return calendar.getTime(); } } ///////////////////////////////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="Event" table="events"> <id name="id" column="uid" type="long"> <generator class="increment"/> </id> <property name="name" type="string"/> <property name="startDate" column="start_date" type="date"/> <property name="duration" type="integer"/> <many-to-one name="location" column="location_id" class="Location" cascade="save-update" /> </class> </hibernate-mapping> ///////////////////////////////////////////////////////////////////////// import java.io.Serializable; import java.util.Date; public class Event implements Serializable { private Long id; private int duration; private String name; private Date startDate; private Location location; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public int getDuration() { return duration; } public void setDuration(int duration) { this.duration = duration; } public Location getLocation() { return location; } public void setLocation(Location location) { this.location = location; } public Event() { } public Event(String name) { this.name = name; } } ///////////////////////////////////////////////////////////////////////// <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping > <class name="Location" table="locations"> <id name="id" column="uid" type="long"> <generator class="increment"/> </id> <property name="name" type="string"/> <component name="address" class="Address" > <property name="streetAddress" column="street_address" type="string"/> <property name="city" type="string"/> <property name="state" type="string"/> <property name="zipCode" column="zip_code" type="string"/> </component> </class> </hibernate-mapping> ///////////////////////////////////////////////////////////////////////// import java.io.Serializable; /** * Uses component address field */ public class Location implements Serializable{ private Long id; private String name; private Address address = new Address(); public Location(String name) { this.name = name;} public Location() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address;} } ///////////////////////////////////////////////////////////////////////// <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="connection.url">jdbc:hsqldb:data/tutorial</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.HSQLDialect</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <mapping resource="Event.hbm.xml"/> <mapping resource="Location.hbm.xml"/> </session-factory> </hibernate-configuration>
1. | Reference Another Class in Map File | ![]() |