Ex 9:
//working with components
Customer.java
package madhav;
public class Customer {
private String name;
private int cid;
private Address permenentAddress;
private Address tempAddress;
public String
getName() {
return name;
}
public void setName(String
name) {
this.name = name;
}
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public Address
getPermenentAddress() {
return permenentAddress;
}
public void
setPermenentAddress(Address permenentAddress) {
this.permenentAddress =
permenentAddress;
}
public Address
getTempAddress() {
return tempAddress;
}
public void
setTempAddress(Address tempAddress) {
this.tempAddress = tempAddress;
}
}
Address.java
package madhav;
public class Address {
private int hno;
private String city;
private String state;
public int getHno() {
return hno;
}
public void setHno(int hno) {
this.hno = hno;
}
public String
getCity() {
return city;
}
public void setCity(String
city) {
this.city = city;
}
public String
getState() {
return state;
}
public void setState(String
state) {
this.state = state;
}
}
Customer.hbm.xml
<?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="madhav.Customer"
table="customer">
<id name="cid"
type="int" column="cid"
>
<generator class="increment"/>
</id>
<property name="name">
<column name="name"
/>
</property>
<component name="permenentAddress"
class="madhav.Address">
<property name="hno"
type="int">
<column name="p_hno"/>
</property>
<property name="city"
type="string">
<column name="p_city"/>
</property>
<property name="state"
type="string">
<column name="p_state"
/>
</property>
</component>
<component name="tempAddress"
class="madhav.Address">
<property name="hno"
type="int">
<column name="t_hno"/>
</property>
<property name="city"
type="string">
<column name="t_city"/>
</property>
<property name="state"
type="string">
<column name="t_state"
/>
</property>
</component>
</class>
</hibernate-mapping>
Hibernate.cfg.xml
<?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">
<!--
Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
<property name="connection.username">system</property>
<property name="connection.password">softech</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="customer.hbm.xml"/>
</session-factory>
</hibernate-configuration>
TestCase.java
import
madhav.*;
import
org.hibernate.SessionFactory;
import
org.hibernate.classic.Session;
import
org.hibernate.cfg.*;
import
org.hibernate.*;
import
org.apache.log4j.*;
public
class TestCase {
/**
* @param args
*/
SessionFactory
factory;
public
void createCustomer(Customer d)
{
Session session=null;
Transaction tx=null;
try
{
session =factory.openSession();
tx=session.beginTransaction();
System.out.println("break1 in cd");
session.save(d);
tx.commit();
System.out.println("record
inserted");
}
catch(HibernateException e)
{
e.printStackTrace();
}
}
public
static void main(String[] args) {
//
TODO Auto-generated method stub
System.out.println("first");
TestCase
t=new TestCase();
Configuration
cfg=new Configuration();
cfg.configure();
//cfg.addResource("employee.hbm.xml");
//cfg.addResource("personaldetails.hbm.xml");
System.out.println("break
2");
t.factory=cfg.buildSessionFactory();
Address
permenent=new Address();
permenent.setHno(23);
permenent.setCity("hyd");
permenent.setState("ap");
Address
temp=new Address();
temp.setHno(3);
temp.setCity("prakasam");
temp.setState("ap");
Customer
c=new Customer();
c.setCid(101);
c.setName("madhv");
c.setPermenentAddress(permenent);
c.setTempAddress(temp);
t.createCustomer(c);
System.out.println("execution
over");
}
}
Output -console:
Related Topics:
- hibernate-basic-example(xml-based)
- hibernate-inheritance-tableforclass-hierarchy(xml-based)
- hibernate-inheritance-joinsubclass-(xml-based)
- hibernate-inheritance-tableforconcreteclass(xml-based)
- hibernate-onetoone-relation(xml-based)
- hibernate-onetomany-relation(xml-based)
- hibernate-manytomany-relation(xml-based)
- hibernate-basic-example(Annotation-based)
- hibernate-inheritance-tableforclass-hierarchy(Annotation-based)
- hibernate-inberitance-joinsubclass-(Annotation-based)
- hibernate-inheritance-tableforconcreteclass(Annotation-based)
- hibernate-onetoone-relation(Annotation-based)
- hibernate-onetomany-relation(Annotation-based)
- hibernate-manytomany-relation(Annotation-based)