Friday, 27 April 2018


synchronization in multithreading.........................
=========================================================================
package multithreading;

public class CharInt {


synchronized public void printChar()
{
for(int i=65;i<=75;i++)
{
System.out.print((char)i+" ");
}
}


synchronized public void numPrint()
{
for(int i=65;i<=75;i++)
{
System.out.print(i+" ");
}
}

}


===============================================================================================


package multithreading;

public class CharDemo extends Thread {

CharInt ci;


public CharDemo(CharInt ci) {
super();
this.ci = ci;
}


public void run()
{
ci.printChar();
}



}

===============================================================================================

package multithreading;

public class IntDemo extends Thread {

CharInt ci;

public IntDemo(CharInt ci) {
super();
this.ci = ci;
}


public void run()
{
ci.numPrint();
}

}

=====================================================================================================

package multithreading;

public class CharIntMain {
public static void main(String[] args) {
CharInt ci=new CharInt();
CharDemo cd=new CharDemo(ci);
IntDemo id=new IntDemo(ci);
cd.start();
id.start();
}

}

===============================================================================================
without synchronization....................

o/p:------------
A B C D 65 66 67 68 69 70 71 72 73 74 75 E F G H I J K

with synchronization....................

o/p:------------

A B C D E F G H I J K 65 66 67 68 69 70 71 72 73 74 75

InterThread Communication in multithreading..................................

How to use wait() and notify()
=====================================================================================================
package multithreading;

public class ThreadA {

public static void main(String[] args) throws InterruptedException {

ThreadB b=new ThreadB();
    b.start();
    synchronized (b) {
System.out.println("Main Thread calling wait method");
    b.wait();
    System.out.println("Main Thread got notification");
System.out.println("Result="+b.total);
}
}

}


===============================================================================================

package multithreading;

public class ThreadB  extends Thread
{
int total=0;

public void run()
{
synchronized (this) {
System.out.println("child thread starts calculation");
for(int i=1;i<=100;i++)
{
total=total+i;
}
System.out.println("child Thread giving notification");
this.notify();

}
}
}

===============================================================================================

o/p:-

Main Thread calling wait method
child thread starts calculation
child Thread giving notification
Main Thread got notification
Result=5050

 
Synchronized keyword in multithreading.....................

package multithreading;

public class TablePrint {


synchronized public void tablePrint(int no)
{
for(int i=1;i<=10;i++)
{
System.out.println(no+"*"+i+"="+(no*i));
}
}
}


=================================================================================================

package multithreading;

public class Govind extends Thread {

TablePrint tp;

public Govind(TablePrint tp) {
super();
this.tp = tp;
}

public void run()
{

tp.tablePrint(19);
}


}


=================================================================================================

package multithreading;

public class Ballabh  extends Thread{

TablePrint tp;

public Ballabh(TablePrint tp) {
super();
this.tp = tp;
}


public void run()
{
tp.tablePrint(18);
}


}


==================================================================================================

package multithreading;

public class Khan extends Thread {

TablePrint tp;

public Khan(TablePrint tp) {
super();
this.tp = tp;
}

public void run()
{
tp.tablePrint(17);
}


}

==============================================================================================
package multithreading;

public class TableMain {
public static void main(String[] args) {
TablePrint tp=new TablePrint();
Govind g=new Govind(tp);
Ballabh b=new Ballabh(tp);
Khan k=new Khan(tp);
g.start();
b.start();
k.start();

}

}
=====================================================================================================
o/p:---------------------------------------
without synchronization
19*1=19
19*2=38
18*1=18
18*2=36
18*3=54
18*4=72
18*5=90
18*6=108
18*7=126
18*8=144
18*9=162
18*10=180
17*1=17
17*2=34
17*3=51
17*4=68
17*5=85
17*6=102
17*7=119
17*8=136
17*9=153
17*10=170
19*3=57
19*4=76
19*5=95
19*6=114
19*7=133
19*8=152
19*9=171
19*10=190



o/p:---------------------------------------
with synchronization

18*1=18
18*2=36
18*3=54
18*4=72
18*5=90
18*6=108
18*7=126
18*8=144
18*9=162
18*10=180
19*1=19
19*2=38
19*3=57
19*4=76
19*5=95
19*6=114
19*7=133
19*8=152
19*9=171
19*10=190
17*1=17
17*2=34
17*3=51
17*4=68
17*5=85
17*6=102
17*7=119
17*8=136
17*9=153
17*10=170

Thursday, 26 April 2018

//join method in multithreading.........................

if a thread wants to wait until completing some other thread  then we should go for join().......


package multithreading;

public class MarriageDateFixed extends Thread{

public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("MarriageDateFixed");
}
}

}

================================================================================
package multithreading;

public class MarriageCardPrinting extends Thread
{

public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("MarriageCardPrinting");
}
}

}


=================================================================================

package multithreading;

public class MarriageCardDistribution  extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("MarriageCardDistribution");
}
}
}
==============================================================================

package multithreading;

public class MarriageMain {
public static void main(String[] args) throws InterruptedException {
MarriageDateFixed mdf=new MarriageDateFixed();
MarriageCardPrinting mcp=new MarriageCardPrinting();
MarriageCardDistribution mcd=new MarriageCardDistribution();
mdf.start();
mdf.join();//
mcp.start();
mcp.join();
mcd.start();
}

}
================================================================================

Run without Join:----------------------------
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution




Run With Join---------------------------------------

MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageDateFixed
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardPrinting
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution
MarriageCardDistribution

//How to Create Thread?

There are 2 ways:-

1. extends Thread Class
2. implements Runnable Interface(2nd approach is better then ist approch)

1. Through Thread Class.............................

package multithreading;

public class A extends Thread
{

public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("Govind");
}
}



}

===============================================================================

package multithreading;

public class B extends Thread
{
public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("ballabh");
}
}

}

=============================================================================

package multithreading;

public class C extends Thread{


public void run()
{
for(int i=0;i<10;i++)
{
System.out.println("khan");
}
}

}

================================================================================
package multithreading;

public class AbcMain {
public static void main(String[] args) {
A a=new A();
B b=new B();
C c=new C();
a.start();
b.start();
c.start();
}

}
===============================================================================

(Ist Time Run)
then o/p=

ballabh
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
=======================================================================
(2nd  Time Run)
then o/p=

govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
========================================================================
(3rd Time Run)
then o/p=

ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
=======================================================================




2. Through  Runnable interface..................................


package multithreading;

public class M implements Runnable{

@Override
public void run() {
for(int i=0;i<10;i++)
{
System.out.println("govind");
}

}

}
===============================================================================

package multithreading;

public class N implements Runnable {

@Override
public void run() {
for(int i=0;i<10;i++)
{
System.out.println("ballabh");
}

}



}
=============================================================================
package multithreading;

public class O  implements Runnable{

@Override
public void run() {
for(int i=0;i<10;i++)
{
System.out.println("khan");
}

}



}

==============================================================================

package multithreading;

public class MnoMain {
public static void main(String[] args) {
M m=new M();
N n=new N();
O o=new O();
Thread t1=new Thread(m);
Thread t2=new Thread(n);
Thread t3=new Thread(o);
t1.start();
t2.start();
t3.start();

}

}
==============================================================================


(Ist Time Run)
then o/p=

ballabh
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
=======================================================================
(2nd  Time Run)
then o/p=

govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
========================================================================
(3rd Time Run)
then o/p=

ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
ballabh
govind
govind
govind
govind
govind
govind
govind
govind
govind
govind
khan
khan
khan
khan
khan
khan
khan
khan
khan
khan
=======================================================================



Wednesday, 25 April 2018



One to One RelationShip in Hibernate:--------------
================================================================================
//Student.java
//StudentClass.java
//student.hbm.xml
//studentclass.hbm.xml
//hibernate.cfg.xml
//SessionUtility.java
//HibernateTest .java
 //DatabaseOperation.java

==========================================================================================
step:--
Create the java project
Add jar files for hibernate
Create the Persistent class
Create the mapping file for Persistent class
Create the Configuration file
Create the class that retrieves or stores the persistent object
Run the application
==========================================================================================
jar file required........
antlr-2.7.5H3.jar
asm.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ehcache-1.1.jar
hibernate3.jar
jta.jar
postgresql-9.3-1103.jdbc3.jar

===============================================================================================
==============================================================================
//Student.java
package govind;
public class Student {

private int sid;
private String fname;
private String mname;
private String lname;
private String rollno;
private int age;
private StudentClass studentclass;

public Student()
{

}
public Student(String fname, String mname, String lname, String rollno, int age,
StudentClass studentclass) {
super();

this.fname = fname;
this.mname = mname;
this.lname = lname;
this.rollno = rollno;
this.age = age;
this.studentclass = studentclass;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getFname() {
return fname;
}
public void setFname(String fname) {
this.fname = fname;
}
public String getMname() {
return mname;
}
public void setMname(String mname) {
this.mname = mname;
}
public String getLname() {
return lname;
}
public void setLname(String lname) {
this.lname = lname;
}
public String getRollno() {
return rollno;
}
public void setRollno(String rollno) {
this.rollno = rollno;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public StudentClass getStudentclass() {
return studentclass;
}
public void setStudentclass(StudentClass studentclass) {
this.studentclass = studentclass;
}


}
===============================================================================
//StudentClass.java
package govind;

public class StudentClass {

private int sid;
private String classid;
private String classname;
private Student student;

public StudentClass()
{
super();
}

public StudentClass(String classid, String classname) {
super();

this.classid = classid;
this.classname = classname;
}



public StudentClass(String classid, String classname, Student student) {
super();
this.classid = classid;
this.classname = classname;
this.student = student;
}



public int getSid() {
return sid;
}



public void setSid(int sid) {
this.sid = sid;
}



public String getClassid() {
return classid;
}



public void setClassid(String classid) {
this.classid = classid;
}



public String getClassname() {
return classname;
}



public void setClassname(String classname) {
this.classname = classname;
}



public Student getStudent() {
return student;
}



public void setStudent(Student student) {
this.student = student;
}
}
===============================================================================
//student.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="govind.Student" table="Student_info">
  <id name="sid" type="int" column="sid">
<generator class="increment"></generator>
  </id>

  <property name="fname" column="fname" type="string"/>
  <property name="mname" column="mname" type="string"/>
  <property name="lname" column="lname" type="string"/>
  <property name="rollno" column="rollno" type="string"/>
  <property name="age" column="age" type="int"/>

  <one-to-one name="studentclass"
     class="govind.StudentClass" cascade="all">
  </one-to-one>

 </class>
</hibernate-mapping>

============================================================================
//studentclass.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<class name="govind.StudentClass" table="Stu_Class">
        <id name="sid" type="int" column="sid">
<generator class="foreign">
<param name="property">student</param>
</generator>
</id>

<one-to-one name="student" class="govind.Student" constrained="true">
</one-to-one>
     <property name="classid"  column="classid" type="string"></property>
<property name="classname" column="classname" type="string"></property>
</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">
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5433/java</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">manager</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">30</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
       
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
       
        <property name="hibernate.hbm2ddl.auto">update</property>
       
        <mapping resource="govind/student.hbm.xml"/>
        <mapping resource="govind/studentclass.hbm.xml"/>
       
     
    </session-factory>

</hibernate-configuration>
===============================================================================
//SessionUtility.java
package govind;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class SessionUtility {
static SessionFactory sf=null;
static
{
try
     {
sf = new Configuration().configure("/govind/hibernate.cfg.xml").buildSessionFactory();
    }

catch (Exception e)
{
e.printStackTrace();
    }
}

public static SessionFactory getSessionFactory()
{
return sf;
}
}

=============================================================================
// DatabaseOperation.java
package govind;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;


public class DatabaseOperation {

public Integer addStudent(Student student)
{
Transaction tx=null;
Integer sid=null;
SessionFactory sf = SessionUtility.getSessionFactory();
Session session = sf.openSession();
try
{
tx=session.beginTransaction();
    sid=(Integer)session.save(student);
tx.commit();
}
catch (HibernateException e) {
if(tx!=null){
        tx.rollback();
         }
e.printStackTrace();
}
finally {
session.close();
}
return sid;
   
}

public void showAllData()
{
Transaction tx=null;
SessionFactory sf = SessionUtility.getSessionFactory();
Session session=sf.openSession();
try
{
tx=session.beginTransaction();
Query query = session.createQuery("from Student");
List<Student> l = query.list();
for(Student s:l)
{
System.out.println("Student Id="+s.getSid());
System.out.println("First Name="+s.getFname());
System.out.println("Middle Name="+s.getMname());
System.out.println("Last Name="+s.getLname());
System.out.println("Roll Number="+s.getRollno());
StudentClass s1 = s.getStudentclass();
System.out.println("Class Id="+s1.getClassid());
System.out.println("Class Name="+s1.getClassname());
}
tx.commit();
     }

catch (HibernateException e) {
if(tx!=null)
{
tx.rollback();
}
e.printStackTrace();
}
finally
{
session.close();
}

}

}


===============================================================================
//HibernateTest.java
package govind;

public class HibernateTest {
public static void main(String[] args) {
StudentClass sc1=new StudentClass("0101mca", "mca");
StudentClass sc2=new StudentClass("0102bca", "bca");
StudentClass sc3=new StudentClass("0103bba", "bba");
StudentClass sc4=new StudentClass("0104mtech", "Mtech");
StudentClass sc5=new StudentClass("0105btech", "btech");

Student s1=new Student("rajesh","kumar","singh","01013mca01",24,sc1);
Student s2=new Student("sanjay","kumar","jha","0102bca02",25,sc2);
Student s3=new Student("ajit","kumar","singh","0103bba03",26,sc3);
Student s4=new Student("govind","ballabh","khan","0104mtech04",27,sc4);
Student s5=new Student("murari","kumar","chy","0105btech05",18,sc5);

sc1.setStudent(s1);
sc2.setStudent(s2);
sc3.setStudent(s3);
sc4.setStudent(s4);
sc5.setStudent(s5);
DatabaseOperation d=new DatabaseOperation();
d.addStudent(s1);
d.addStudent(s2);
d.addStudent(s3);
d.addStudent(s4);
d.addStudent(s5);
d.showAllData();
}

}
==============================================================================
o/p view:-

Hibernate: select max(sid) from Student_info
Hibernate: insert into Student_info (fname, mname, lname, rollno, age, sid) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Stu_Class (classid, classname, sid) values (?, ?, ?)
Hibernate: insert into Student_info (fname, mname, lname, rollno, age, sid) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Stu_Class (classid, classname, sid) values (?, ?, ?)
Hibernate: insert into Student_info (fname, mname, lname, rollno, age, sid) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Stu_Class (classid, classname, sid) values (?, ?, ?)
Hibernate: insert into Student_info (fname, mname, lname, rollno, age, sid) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Stu_Class (classid, classname, sid) values (?, ?, ?)
Hibernate: insert into Student_info (fname, mname, lname, rollno, age, sid) values (?, ?, ?, ?, ?, ?)
Hibernate: insert into Stu_Class (classid, classname, sid) values (?, ?, ?)
Hibernate: select student0_.sid as sid0_, student0_.fname as fname0_, student0_.mname as mname0_, student0_.lname as lname0_, student0_.rollno as rollno0_, student0_.age as age0_ from Student_info student0_
Hibernate: select studentcla0_.sid as sid1_0_, studentcla0_.classid as classid1_0_, studentcla0_.classname as classname1_0_ from Stu_Class studentcla0_ where studentcla0_.sid=?
Hibernate: select studentcla0_.sid as sid1_0_, studentcla0_.classid as classid1_0_, studentcla0_.classname as classname1_0_ from Stu_Class studentcla0_ where studentcla0_.sid=?
Hibernate: select studentcla0_.sid as sid1_0_, studentcla0_.classid as classid1_0_, studentcla0_.classname as classname1_0_ from Stu_Class studentcla0_ where studentcla0_.sid=?
Hibernate: select studentcla0_.sid as sid1_0_, studentcla0_.classid as classid1_0_, studentcla0_.classname as classname1_0_ from Stu_Class studentcla0_ where studentcla0_.sid=?
Hibernate: select studentcla0_.sid as sid1_0_, studentcla0_.classid as classid1_0_, studentcla0_.classname as classname1_0_ from Stu_Class studentcla0_ where studentcla0_.sid=?
Student Id=1
First Name=rajesh
Middle Name=kumar
Last Name=singh
Roll Number=01013mca01
Class Id=0101mca
Class Name=mca
Student Id=2
First Name=sanjay
Middle Name=kumar
Last Name=jha
Roll Number=0102bca02
Class Id=0102bca
Class Name=bca
Student Id=3
First Name=ajit
Middle Name=kumar
Last Name=singh
Roll Number=0103bba03
Class Id=0103bba
Class Name=bba
Student Id=4
First Name=govind
Middle Name=ballabh
Last Name=khan
Roll Number=0104mtech04
Class Id=0104mtech
Class Name=Mtech
Student Id=5
First Name=murari
Middle Name=kumar
Last Name=chy
Roll Number=0105btech05
Class Id=0105btech
Class Name=btech


project  directory:-----------------------


Created Table In Database................................



one to one mapping in hibernate:-------------------------
// Student.java
//Address.java
//student.hbm.xml
//hibernate.cfg.xml
//InsertData.java
//SelectAll.java

==========================================================================================
step:--
Create the java project
Add jar files for hibernate
Create the Persistent class
Create the mapping file for Persistent class
Create the Configuration file
Create the class that retrieves or stores the persistent object
Run the application
==========================================================================================
jar file required........
antlr-2.7.5H3.jar
asm.jar
cglib-2.1.3.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ehcache-1.1.jar
hibernate3.jar
jta.jar
postgresql-9.3-1103.jdbc3.jar

===============================================================================================
// Student.java
package govind;
public class Student {

private int sid;
private String sname;
private Address address;

Student()
{
super();
}

Student (int sid,String sname)
{
this.sid=sid;
this.sname=sname;

}

public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}

=================================================================================================
// Address.java
package govind;

public class Address {

private int sid;
private String flatno,plotno,street,city;
private Student student;
public Address()
{
super();
}
public Address( String flatno, String plotno, String street, String city, Student student) {
super();
    this.flatno = flatno;
this.plotno = plotno;
this.street = street;
this.city = city;
this.student = student;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getFlatno() {
return flatno;
}
public void setFlatno(String flatno) {
this.flatno = flatno;
}
public String getPlotno() {
return plotno;
}
public void setPlotno(String plotno) {
this.plotno = plotno;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}



}
==============================================================================================
//student.hbm.xml


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="govind.Student" table="studentinfo">
    <id name="sid">
      <generator class="sequence">
        <param name="sequence">student_seq</param>
      </generator>
    </id>
    <property name="sname"/>
    <one-to-one name="address" class="govind.Address"></one-to-one>
  </class>

  <class name="govind.Address" table="addressinfo">
    <id name="sid">
      <generator class="foreign">
        <param name="property">student</param>
      </generator>
    </id>
   
    <property name="flatno"/>
    <property name="plotno"/>
    <property name="street"/>
    <property name="city"/>
    <one-to-one name="student" class="govind.Student" constrained="true"></one-to-one>
  </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">
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5433/java</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">manager</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">30</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
       
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
       
        <property name="hibernate.hbm2ddl.auto">update</property>
       
        <mapping resource="govind/student.hbm.xml"/>
       
         
    </session-factory>

</hibernate-configuration>
============================================================================================
//InsertData.java
package govind;

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

public class InsertData {
public static void main(String[] args) {
Configuration c=new Configuration();
c.configure("/govind/hibernate.cfg.xml");
SessionFactory sf = c.buildSessionFactory();
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
Student s1=new Student(0,"mani");
Address a1=new Address("10","55-a","f-block","patna",s1);
session.save(a1);
session.flush();
tx.commit();
session.close();
System.out.println("Insert Data Successfully");

}
}

=============================================================================================

//SelectAll.java

package govind;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;

public class SelectAll {
public static void main(String[] args) {
Configuration c=new Configuration();
c.configure("/govind/hibernate.cfg.xml");
SessionFactory sf = c.buildSessionFactory();
Session session = sf.openSession();
//Transaction tx=session.beginTransaction();

Query query = session.createQuery("from Address");

List l = query.list();
System.out.println("--------------address table data----------------");
        for(Object o:l)
        {
        Address ak=(Address)o;
        System.out.println(ak.getSid()+"----"+ak.getStreet()+"----"+ak.getPlotno()+"-----"+ak.getFlatno()+"----"+ak.getCity());
       
       }
       
        Query q = session.createQuery("from Student");
List ll = q.list();
System.out.println("--------------student table data----------------");
        for(Object o:ll)
        {
        Student sk=(Student)o;
        System.out.println(sk.getSid()+"----"+sk.getSname());
       
       }
        //tx.commit();
        session.close();
     
       
       
       
}

}



o/p view:----------------
case:-1
InsertData.java........run
Hibernate: select nextval ('student_seq')
Hibernate: insert into studentinfo (sname, sid) values (?, ?)
Hibernate: insert into addressinfo (flatno, plotno, street, city, sid) values (?, ?, ?, ?, ?)
Insert Data Successfully


SelectAll.java-----------run
Hibernate: select address0_.sid as sid1_, address0_.flatno as flatno1_, address0_.plotno as plotno1_, address0_.street as street1_, address0_.city as city1_ from addressinfo address0_
--------------address table data----------------
4----2-----59-c-----c-block--------Newdelhi
5----5-----59-a-----d-block--------bhopal
6----10-----55-a-----f-block--------patna
7----11-----52-a-----s-block--------up
Hibernate: select student0_.sid as sid0_, student0_.sname as sname0_ from studentinfo student0_
--------------student table data----------------
4----govind
5----ajit
6----mani
7----sanjay