addheader

Sunday, 27 January 2013

hibernate inheritance class hierarchy annotations

hibernate inheritance table for class hierarchy annotations:

-------------------------------------------------



     JAVA-SERVLETS     JAVA-JDBC     JAVA-JSP       HIBERNATE-SHCEMABASED 

    HIBERNATE-ANNOTATIONS     SPRING-IOC       SPRING –AOP-SCHEMABASED   

    SPRING-AOP-ANNOTATIONS      SPRING -DAO     SPRIN-MVC     SPRING-SECUTITY

     SPRING-DATA-JPA     REST-WEB-SERVICE     STRUTS2HIBERNATE    GWT.... 








Employee .java




package madhav;

import javax.persistence.Entity;
import javax.persistence.*;

@Entity
@Table(name="employee")
@Inheritance(strategy=InheritanceType.JOINED)

public class Employee {
           @Id
           private int empno;
           private String ename;
           public int getEmpno() {
                       return empno;
           }
           public void setEmpno(int empno) {
                       this.empno = empno;
           }
           public String getEname() {
                       return ename;
           }
           public void setEname(String ename) {
                       this.ename = ename;
           }
}








SalariedEmployee .java





package madhav;

import javax.persistence.DiscriminatorValue;
import javax.persistence.*;

@Entity
@Table(name="salariedemp")
@PrimaryKeyJoinColumn(name="empno")
public class SalariedEmployee extends Employee {
           public double annualSal;

           public double getAnnualSal() {
                       return annualSal;
           }

           public void setAnnualSal(double annualSal) {
                       this.annualSal = annualSal;
           }
}







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.MySQLDialect</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/mysql</property>
        <property name="connection.username">root</property>
        <property name="connection.password">mysql</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 
    <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">create</property>
        <mapping class="madhav.Employee" />
        <mapping class="madhav.SalariedEmployee"/>
    </session-factory>

</hibernate-configuration>










TestCase.java






package madhav;

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.classic.Session;

public class TestCase {

               /**
                * @param args
                */
               public static void main(String[] args) {
                       // TODO Auto-generated method stub
                        try {
                                     // Create the SessionFactory from hibernate.cfg.xml
                                     SessionFactory  sf= new
                                     AnnotationConfiguration().configure().buildSessionFactory();
                                     Session s=sf.openSession();
                                     Transaction tx=s.beginTransaction();
                                     Employee e=new Employee();
                                     e.setEmpno(101);
                                     e.setEname("madhav");
                                 
                                  SalariedEmployee se=new SalariedEmployee();
                                     se.setAnnualSal(2000);
                                     se.setEmpno(12);
                                     se.setEname("raghu");
                                     s.save(se);
                                 
                                     s.save(e);
                                 
                                 
                                     tx.commit();
                                 
                                     } catch (Throwable ex) {
                                     // Make sure you log the exception, as it might be swallowed
                                     System.err.println("Initial SessionFactory creation failed." + ex);
                               
                                     }
                                     }

               }













output from console:
-----------------------




Related Topics:


  1. hibernate-basic-example(xml-based)
  2. hibernate-inheritance-tableforclass-hierarchy(xml-based)
  3. hibernate-inheritance-joinsubclass-(xml-based)
  4. hibernate-inheritance-tableforconcreteclass(xml-based)
  5. hibernate-onetoone-relation(xml-based)
  6. hibernate-onetomany-relation(xml-based)
  7. hibernate-manytomany-relation(xml-based)
  8. hibernate-basic-example(Annotation-based)
  9. hibernate-inheritance-tableforclass-hierarchy(Annotation-based)
  10. hibernate-inberitance-joinsubclass-(Annotation-based)
  11. hibernate-inheritance-tableforconcreteclass(Annotation-based)
  12. hibernate-onetoone-relation(Annotation-based)
  13. hibernate-onetomany-relation(Annotation-based)
  14. hibernate-manytomany-relation(Annotation-based)








































No comments:

Post a Comment