Program 1
package beans;
public class Employee
{
private int eid;
private String ename;
private int esalary;
public Employee() {
}
public int getEid() {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public int getEsalary() {
return esalary;
}
public void setEsalary(int esalary) {
this.esalary = esalary;
}
}Program 2
package beans;
public class Manager extends Employee
{
private int hra;
private int da;
public Manager() {
}
public int getHra() {
return hra;
}
public void setHra(int hra) {
this.hra = hra;
}
public int getDa() {
return da;
}
public void setDa(int da) {
this.da = da;
}
}Program 3
package beans;
public class Clerk extends Employee
{
int ta;
public Clerk() {
}
public int getTa() {
return ta;
}
public void setTa(int ta) {
this.ta = ta;
}
}Program 4
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Employee" table="emp" schema="inherit">
<id name="eid"></id>
<discriminator column="etype" type="string"></discriminator>
<property name="ename"></property>
<property name="esalary"></property>
<subclass discriminator-value="Mgr" name="beans.Manager">
<property name="hra"></property>
<property name="da"></property>
</subclass>
<subclass discriminator-value="Clrk" name="beans.Clerk">
<property name="ta"></property>
</subclass>
</class>
</hibernate-mapping>Program 5
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/inherit</property>
<property name="connection.username">root</property>
<property name="connection.password">root@data</property>
<property name="connection.pool_size">10</property>
<property name="hbm2ddl.auto">create</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="resources/Employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>Program 6
package view;
import beans.Clerk;
import beans.Manager;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class TestMain
{
public static void main(String[] args)
{
Configuration cfg=new Configuration();
cfg.configure("resources/hibernate.cfg.xml");
SessionFactory sf=cfg.buildSessionFactory();
Session session=sf.openSession();
Manager M=new Manager();
M.setEid(100);
M.setEname("Vivek");
M.setEsalary(8000);
M.setDa(7000);
M.setHra(6000);
Clerk C=new Clerk();
C.setEid(101);
C.setEname("Rajesh");
C.setEsalary(7000);
C.setTa(5000);
Manager M1=new Manager();
M1.setEid(102);
M1.setEname("Amit Sharma");
M1.setEsalary(9000);
M1.setDa(4000);
M1.setHra(7000);
session.save(M);
session.save(M1);
session.save(C);
session.beginTransaction().commit();
session.close();
sf.close();
System.out.println("Record Save........");
}
}