Sunday, August 16, 2015

ONE POJO MULTIPLE TABLES

package com.slokam.hibernate.practice;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SecondaryTable;
import javax.persistence.SecondaryTables;
import javax.persistence.Table;

@Entity
@Table(name="bank")
@SecondaryTables({@SecondaryTable(name="bankDetails"),@SecondaryTable(name="address")})
//@SecondaryTable(name="bankDetails")
public class BankPojo {
   
   
    private Integer id;
    private String bankName;
    private String branch;
   
    private Integer phoneNo;
    private String mailId;
    private String website;
   
    private String street;
    private String city;
    private String country;
   
   
    @Column(table="address")
    public String getStreet() {
        return street;
    }
    public void setStreet(String street) {
        this.street = street;
    }
   
    @Column(table="address")
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
   
    @Column(table="address")
    public String getCountry() {
        return country;
    }
    public void setCountry(String country) {
        this.country = country;
    }
    @Id
    @GeneratedValue
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getBankName() {
        return bankName;
    }
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }
    public String getBranch() {
        return branch;
    }
    public void setBranch(String branch) {
        this.branch = branch;
    }
   
    @Column(name="phoneNo",table="bankDetails")
    public Integer getPhoneNo() {
        return phoneNo;
    }
    public void setPhoneNo(Integer phoneNo) {
        this.phoneNo = phoneNo;
    }
   
    @Column(name="mailId",table="bankDetails")
    public String getMailId() {
        return mailId;
    }
    public void setMailId(String mailId) {
        this.mailId = mailId;
    }
   
    @Column(name="website",table="bankDetails")
    public String getWebsite() {
        return website;
    }
    public void setWebsite(String website) {
        this.website = website;
    }
   
   

}
TEST:
package com.slokam.hibernate.practice;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class Test {

   
    public static void main(String[] args) {
        Configuration configuration = new AnnotationConfiguration().configure();
        //new SchemaExport(configuration).create(true, true);
        SessionFactory sessionFactory = configuration.buildSessionFactory();
         Session session = sessionFactory.openSession();
         session.beginTransaction();
       
         BankPojo bankPojo = new BankPojo();
         //bankPojo.setId(1);
         bankPojo.setBankName("HDFC");
         bankPojo.setBranch("kphb");
       
         bankPojo.setMailId("hdfcbank@com");
         bankPojo.setPhoneNo(555555);
         bankPojo.setWebsite("hdfcbank.com");
       
         bankPojo.setStreet("kphb");
         bankPojo.setCountry("India");
         bankPojo.setCity("Hyderabad");
       
         session.save(bankPojo);
         session.beginTransaction().commit();
         session.close();
       
    }

}
HB.CFG.XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "something" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name = "connection.driverclass">com.mysql.jdbc.Driver</property>
        <property name = "connection.url">jdbc:mysql://localhost:3306/test</property>
        <property name = "connection.username">root</property>
        <property name = "connection.password">RROT</property>
        <property name = "dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name= "show_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <mapping class="com.slokam.hibernate.practice.BankPojo"/>
       
    </session-factory>
</hibernate-configuration>

My Blog List

Powered by Blogger.

 

© 2013 Java Tutorials. All rights resevered. Designed by Templateism

Back To Top