You are on page 1of 185

http://candidjava.

com/hibernate-tutorial

Hibernate Introduction
Hibernate was introduced by Gavin king in 2001.
Hibernate is used to simplify work in data base.
Hibernate is an Library in Java, used for an Object Relational Mapping (ORM).
Hibernate mainly used for mapping tables in data base and simplify relation between data bases.
Its an open source.

Advantages:
It supports 12 data bases.
It generates queries automatically according to data base driver what we used.

Eh cache:
2nd level cache It retrieve datas from data base and store it in some temporary file and process queries from that file
instead of data base.
It saves time because of small datas in temporary files.
Hibernate can be integrated in java and j2EE (Servlet,Struts).

XML:
xml file is an intermediate for java and data base.
Mapping java class and database is process through xml.
Xml file map the java class variables (java data types) to data base table attributes (sql data types).

Persistence (POJO):
Persistence storage.
Hibernate provides temporary storage for pojo class.
Plain Old Java Object This is the persistence class in hibernate.

This class contains getter, setter method for attributes used in data base tables.
It should contain a no-argument constructor.
The variables used in this class are map with the attributes used in table through xml.

HQL:
HQL is an object oriented language and also platform independent.
Instead of sql queries we use HQL in hibernate, it is easy to understand than sql queries.
Hibernate Query Language.

Types:
Create Query
Create Criteria
Sql Query

Hibernate configuration(cfg, hbm)

Hibernate.cfg.xml:
<session-factory name=studentFactory>
Provides a unique name for property used with this database.
<property name=connection.driver_class> oracle.jdbc.OracleDriver </property>
The property connection.driver_class is used for loading database driver just like loading driver in
JDBC(Class.forName();)
<property name=connection.url>jdbc:oracle:thin:@localhost:1521:XE </property>
Connection.url property is used to load connection for the paticular database
<property name=connection.username>system </property>

This property implies user name of the database.


systemThis is default user name for oracle.
<property name=connection.password>system</property>
This property implies the database password.
system Replace this with your oracle password.
<property name=connection.pool_size>5</property>
Connection.pool_size property is used to maintain connection pooling by application server not by the database
server
<property name=dialect>org.hibernate.dialect.OracleDialect </property>
This is an optional property. which generates sql query for database based on the dialect we used. Different database
have different query. Query may be change as the database changes. to over come this problem dialect come in
exist.
<property name=show_sql>true</property>
This property displays sql query in console generated by the previous property dialect.
If it is false it doesnt display the query.
<property name=hbm2ddl.auto>update</property>
UpdateThis Property Used to update the table Rather than create the new table.
If table already exists it update values into table otherwise it creates new table automatically.
CreateThis property creates new table.
If the table already exists, it deletes all records in the table and create new table with the given values.
Its better use update property rather than create to maintain old records.
<mapping resource=com\\xml\\Student.hbm.xml/>
Mapping Resource property is used for mapping pojo with table.
Be sure while com\\xml matches your package name else give your package name instead.

Hbm file:
hbm file is created for each pojo class.
It is used as mapping in hibernate.
Its like an intermediate between hibernate java class and data base table.
All contents in this file are within hibernate mapping tag.

<hibernate-mapping>

2
3

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

4
5

</hibernate-mapping>

<class> tag is used for mapping a java class and table.

1 <class name=POJOClassName table=tableName>


2

<id name="identifierName" type="DataType" column="ColumnName">

<generator class="increment" />

</id>

IdentifierName which should matches the member variable in java (pojo) class.
DataType Should also matches the data type for the given variable in java class.
ColumnName It may be any column name for table. It must be a primary key for the given table.
Increment Its optional. It automatically increases primary key value for the given table.
<property name= identifierName type= DataType column= ColumnName />
Property tag is created for each identifier in the java class.

POJO Classes in Hibernate

Plain Old Java Object:


Its a java class, which have data members and methods.
Data members are map with the table attributes using xml file.
This class contains getter (getXXX) and setter (setXXX) method for attribute to get and set values into tables.
It should contain a no-argument constructor.

Hibernate Simple Program Using Command Prompt


http://candidjava.com/hibernate-simple-program-using-command-prompt
This program explains how to run hibernate in command prompt.

Step 1:
Create a Java File AddStudent and paste the below code into that.
AddStudent.java:
Here we will use sessionFactory for create connetion Oracle database.
sessionFactory = new Configuration().configure(com\\xml\\hibernate.cfg.xml).buildSessionFactory();
Then we will create objects for pojo classes and then save the database using session.
Student stu=new Student();
s.save(stu);
Then we will use Transaction statement for begin and commit the database.
Transaction tx= s.beginTransaction();
tx.commit();

01

//package code;

02

import java.sql.*;

03

import java.io.*;

04

import org.hibernate.*;

05

import org.hibernate.cfg.*;

06
07
08

public class AddStudent {


private static SessionFactory sessionFactory;

09
10

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

11
12

DataInputStream d = new DataInputStream(System.in);

13

System.out.println("ENTER YOUR NAME");

14

String name = d.readLine();

15

System.out.println("ENTER YOUR DEGREE");

16

String degree = d.readLine();

17

System.out.println("ENTER YOUR PHONE");

18

String phone = d.readLine();

19

System.out.println("Name: " + name);

20

System.out.println("Degree: " + degree);

21

System.out.println("Phone: " + phone);

22

if ((name.equals("") || degree.equals("") || phone.equals(""))) {

23
24
25
26
27
28
29
30
31

System.out.println("All informations are Required");


} else {
try {
// begin try
sessionFactory = new Configuration().configure()
.buildSessionFactory();
} catch (Exception e) {
System.out.println(e.getMessage());
System.err.println("Initial SessionFactory creation

failed."
32

+ e);

33

34

Session s = sessionFactory.openSession();

35

Transaction tx = s.beginTransaction();

36

Student stu = new Student();

37

stu.setName(name);

38

stu.setDegree(degree);

39

stu.setPhone(phone);

40

s.save(stu);

41

tx.commit();

42

System.out.println("Added to Database");

43

if (s != null)

44

s.close();

45

46

47

Step 2:
Create a Java File Student paste the below code into that.

Student.java:
It is a Pojo class. This class Must be a Serializable. Then here we will use get and set method.

private long id;

public long getId() {return id;}

public void setId(long String) {id = String;}

01

//package code;

02

import java.io.*;

03
04
05

public class Student implements Serializable {


private long id;

06

private String name;

07

private String degree;

08

private String phone;

09
10
11

public long getId() {


return id;

12

13
14
15

public String getName() {


return name;

16

17
18
19

public String getDegree() {


return degree;

20

21
22
23

public String getPhone() {


return phone;

24

25
26
27
28
29

public void setId(long string) {


id = string;
}

30
31

public void setName(String string) {


name = string;

32

33
34
35

public void setDegree(String string) {


degree = string;

36

37
38
39

public void setPhone(String string) {


phone = string;

40

41
42
43

public String toString() {


return name;

44
45

}
}

Step 3:
Create an xml file hibernate.cfg.xml place the below code into that.

hibernate.cfg.xml:
<property name=connection.driver_class> oracle.jdbc.OracleDriver</property>
Here we will use this property for load the driver in oracle database
<property name=connection.url> jdbc:oracle:thin:@localhost:1521:XE</property>
Then this property will use for open connetion inoracle database.
<property name=connection.username> system</property>
This property will use for username in oracle database.

<property name=connection.password> system</property>


This property will use for password in oracle database
<property name=dialect> org.hibernate.dialect.OracleDialect </property>
Here we will use oracle Dialect for generating query.

01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<mapping resource="Student.hbm.xml" />

26
27

</session-factory>
</hibernate-configuration>

Step 4:
Create an xml File student.hbm.xml and place below code into that.

Student.hbm.xml:
<class name=com.candidjava.Student table=student >
This tag will use for mapping Pojo class name and table name.
<id name=id type=long column =ID><generator class=increment/></id>
This tag will use for generating primary key id and also increment the id value.
<property name=name column=name not-null=true/>
This property will use for mapping the pojo class veriable name(name=name ) and table attribute
name(column=name).
</class>/>
End of the class.

01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05
06
07
08

<hibernate-mapping >
<class name="Student" table="Stutbl" >
<id name="id" type="long" column ="ID">
<generator class="increment"/>

09

</id>

10

<property name="name" column="name" not-null="true"/>

11

<property name="degree" column="degree" />

12

<property name="phone" column="phone" />

13

</class>

14

</hibernate-mapping>

Step 5:
Create a folder lib and add library files into that.
Add below Library files into that.
ant-antlr-1.6.3.jar
antlr-2.7.5H3.jar
asm-attrs.jar
asm.jar
cglib-2.1.jar
commons-collections-2.1.1.jar
commons-logging-1.0.4.jar
dom4j-1.6.jar
ehcache-1.1.jar
hibernate.properties
hibernate3.jar
hsqldb.jar
jta.jar
log4j-1.2.9.jar
ojdbc14.jar
wloracle.jar
wlsqlserver.jar
Step 6:
Create a batch file a.bat and place the below code into that.
set classpath=lib\hibernate3.jar;lib\ant-antlr-1.6.3.jar;lib\antlr-2.7.5H3.jar;lib\asmattrs.jar;lib\hsqldb.jar;lib\jta.jar;lib\commons-logging-1.0.4.jar;lib\dom4j-1.6.jar;lib\log4j1.2.9.jar;lib\wlsqlserver.jar;lib\commons-collections-2.1.1.jar;lib\ehcache-1.1.jar;lib\cglib2.1.jar;lib\asm.jar;lib\ojdbc14.jar;%classpath%;.;
OUTPUT:

Step 7:
Run the batch file.

Step 8:

Run the Java File.

Hibernate Simple Program Using WebApplication with Eclipse


Step by Step tutorial on running your SimpleProgram Hibernate
application with Eclipse IDE
Step
Step
Step
Step
Pojo)
Step
Step
Step
Step

1
2
3
4

Creating Dynamic web Project


SimpleProgram Hibernate Project structure
Adding Jar Files
Creating your SimpleProgram Hibernate program(Controller &

5
6
7
8

Creating hibernate.cfg.xml
Creating Student.hbm.xml
OutPut for Running Console hiberanate application
OutPut for Running Oracle hibernate application

This application we will used to insert the datas in database like sql,oracle,DB2 and etc.
Here We will see how to save the datas in oracle database .

Step 1 Creating Dynamic web Project:


Start Eclipse and goto File -> New -> Project -> Dynamic Web Project

Step 2 SimpleProgram Hibernate Project structure:


Project Structure:

Step 3 Adding Jar Files:


JAR Files:

Step 4 Creating your SimpleProgram Hibernate program(Controller


& Pojo):
AddStudent.java:
01

package com.candidjava;

02
03
04
05

public class AddStudent {


public static void main(String[] args) {
try {

06

AddStudentControl ctrl = new AddStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11
12

}
}

AddStudentControl.java:
Here we will use sessionFactory for create connetion Oracle database.

sessionFactory = new Configuration().configure(com\\xml\\hibernate.cfg.xml).buildSessionFactory();


Then we will create objects for pojo classes and then save the database using session.
Student stu=new Student();
s.save(stu);
Then we will use Transaction statement for begin and commit the database.
Transaction tx= s.beginTransaction();
tx.commit();

01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class AddStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16
17
18
19

"com\\xmlFiles\\hibernate.cfg.xml").buildSessionFactory
();
s = sessionFactory.openSession();
} catch (HibernateException e) {
System.out.println(e.getMessage());

20

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29

DataInputStream ds = new DataInputStream(System.in);

30

System.out.println("*********************\n");

31

System.out.println("Enter the Student Id");

32

String stuid = ds.readLine();

33

System.out.println("Enter the Student RegNo");

34

String sturegno = ds.readLine();

35

System.out.println("Enter the Student name");

36

String stuname = ds.readLine();

37

System.out.println("Enter the Student mark1");

38

String stumark1 = ds.readLine();

39

System.out.println("Enter the Student mark2");

40

String stumark2 = ds.readLine();

41

System.out.println("Enter the Degree");

42

String degree = ds.readLine();

43

System.out.println("Enter the mobile No");

44

String mobileno = ds.readLine();

45

System.out.println("Enter the Student mail Id");

46

String mailid = ds.readLine();

47

48

stu.setStuid(stuid);

49
50

stu.setSturegno(sturegno);

51

stu.setStuname(stuname);

52

stu.setStumark1(stumark1);

53

stu.setStumark2(stumark2);

54

stu.setStuid(stuid);

55

stu.setDegree(degree);

56

stu.setMobileno(mobileno);

57

stu.setMailid(mailid);

58

s.save(stu);

59

tx.commit();

60

System.out.println("\n\n Details Added \n");

61

} catch (HibernateException e) {

62

System.out.println("error1" + e.getMessage());

63
64

System.out.println("error1");
}

65
66

67
68

}// end of class

Student.java:
It is a Pojo class. This class Must be a Serializable. Then here we will use get and set method.

private long id;

public long getId() {return id;}

public void setId(long String) {id = String;}

01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

Step 5 Creating hibernate.cfg.xml:


hibernate.cfg.xml:
<property name=connection.driver_class> oracle.jdbc.OracleDriver</property>
Here we will use this property for load the driver in oracle database
<property name=connection.url> jdbc:oracle:thin:@localhost:1521:XE</property>
Then this property will use for open connetion inoracle database.
<property name=connection.username> system</property>
This property will use for username in oracle database.
<property name=connection.password> system</property>
This property will use for password in oracle database
<property name=dialect> org.hibernate.dialect.OracleDialect </property>
Here we will use oracle Dialect for generating query.

01
02

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"

03

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="\com\\xmlFiles\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Step 6 Creating Student.hbm.xml:


Student.hbm.xml:
<class name=com.candidjava.Student table=student >
This tag will use for mapping Pojo class name and table name.
<id name=id type=long column =ID><generator class=increment/></id>
This tag will use for generating primary key id and also increment the id value.
<property name=name column=name not-null=true/>
This property will use for mapping the pojo class veriable name(name=name ) and table attribute
name(column=name).
</class>/>
End of the class.

01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Student2">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01

<?xml version="1.0" encoding="UTF-8"?>

02

<web-app id="WebApp_ID" version="2.4"

03

xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance"

04

xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/
xml/ns/j2ee/web-app_2_4.xsd">

05

<display-name>HibernateSaveQuery</display-name>

06

<welcome-file-list>

07

<welcome-file>index.html</welcome-file>

08

<welcome-file>index.htm</welcome-file>

09

<welcome-file>index.jsp</welcome-file>

10

<welcome-file>default.html</welcome-file>

11

<welcome-file>default.htm</welcome-file>

12

<welcome-file>default.jsp</welcome-file>

13

</welcome-file-list>

14

</web-app>

OUTPUT:
Step 7

OutPut for Running Console hiberanate application:

Step 8 OutPut for


Running Oracle hibernate application:

Hibernate Simple Program Using Java Application with Eclipse

Step by Step tutorial to run your Simple Hibernate Program in Eclipse


IDE
Step
Step
Step
Step
Pojo)
Step
Step
Step
Step

1
2
3
4

Creating Java Project


SimpleProgram Hibernate Project structure
Adding Jar Files
Creating your SimpleProgram Hibernate program(Controller &

5
6
7
8

Creating hibernate.cfg.xml
Creating Student.hbm.xml
OutPut for Running Console hiberanate application
OutPut for Running Oracle hibernate application

This application we will used to insert the datas in database like sql,oracle,DB2 and etc.
Here We will see how to save the datas in oracle database .

Step 1 Creating Java Project:


Start Eclipse and goto File -> New -> Project -> Java Project

Step 2 SimpleProgram Hibernate Project structure:


Project Structure:

Step 3 Adding Jar Files:


JAR Files:

How To Add The JAR Files:


Right click on project and choose properties

Step 4 Creating your SimpleProgram Hibernate program(Controller


& Pojo):
AddStudent.java:
Here we will use sessionFactory for create connetion Oracle database.
sessionFactory = new Configuration().configure(com\\xml\\hibernate.cfg.xml).buildSessionFactory();
Then we will create objects for pojo classes and then save the database using session.
Student stu=new Student(); s.save(stu);
Then we will use Transaction statement for begin and commit the database.
Transaction tx= s.beginTransaction(); tx.commit();

01

package com.candidjava;

02
03

//package code;

04

import java.sql.*;

05

import java.io.*;

06

import org.hibernate.*;

07

import org.hibernate.cfg.*;

08
09
10

public class AddStudent {


private static SessionFactory sessionFactory;

11
12

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

13
14

DataInputStream d = new DataInputStream(System.in);

15

System.out.println("ENTER YOUR NAME");

16

String name = d.readLine();

17

System.out.println("ENTER YOUR DEGREE");

18

String degree = d.readLine();

19

System.out.println("ENTER YOUR PHONE");

20

String phone = d.readLine();

21

System.out.println("Name: " + name);

22

System.out.println("Degree: " + degree);

23

System.out.println("Phone: " + phone);

24

if ((name.equals("") || degree.equals("") || phone.equals(""))) {

25
26

System.out.println("All informations are Required");


} else {

27

try {

28

// begin try

29
30

sessionFactory = new Configuration().configure(


"com\\xml\\hibernate.cfg.xml").buildSessionFactory(
);

31

} catch (Exception e) {

32
33

System.out.println(e.getMessage());
System.err.println("Initial SessionFactory creation
failed."

34

+ e);

35

36

Session s = sessionFactory.openSession();

37

Transaction tx = s.beginTransaction();

38

Student stu = new Student();

39

stu.setName(name);

40

stu.setDegree(degree);

41

stu.setPhone(phone);

42

s.save(stu);

43

tx.commit();

44

System.out.println("Added to Database");

45

if (s != null)

46

s.close();

47
48
49

}
}
}

Student.java:
It is a Pojo class. This class Must be a Serializable. Then here we will use get and set method.
o private long id;

o public long getId() {return id;}


o public void setId(long String) {id = String;}

01

package com.candidjava;

02
03

//package code;

04

import java.io.*;

05
06

public class Student implements Serializable {

07

private long id;

08

private String name;

09

private String degree;

10

private String phone;

11
12

public long getId() {

13

return id;

14

15
16

public String getName() {

17

return name;

18

19
20

public String getDegree() {

21

return degree;

22

23
24

public String getPhone() {

25

return phone;

26

27
28

public void setId(long string) {

29

id = string;

30

31
32

public void setName(String string) {

33
34

name = string;
}

35
36

public void setDegree(String string) {

37
38

degree = string;
}

39
40

public void setPhone(String string) {

41
42

phone = string;
}

43
44

public String toString() {

45

return name;

46

47

Step 5 Creating hibernate.cfg.xml:


hibernate.cfg.xml:
<property name=connection.driver_class> oracle.jdbc.OracleDriver</property>

Here we will use this property for load the driver in oracle database
<property name=connection.url> jdbc:oracle:thin:@localhost:1521:XE</property>
Then this property will use for open connetion inoracle database.
<property name=connection.username> system</property>
This property will use for username in oracle database.
<property name=connection.password> system</property>
This property will use for password in oracle database
<property name=dialect> org.hibernate.dialect.OracleDialect </property>
Here we will use oracle Dialect for generating query.

01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15
16

system
</property>
<property name="connection.password">
system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">true</property>

25

<property name="hbm2ddl.auto">create</property>

26

<mapping resource="\com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Step 6 Creating Student.hbm.xml:


Student.hbm.xml:
<class name=com.candidjava.Student table=student >
This tag will use for mapping Pojo class name and table name.
<id name=id type=long column =ID><generator class=increment/></id>
This tag will use for generating primary key id and also increment the id value.
<property name=name column=name not-null=true/>
This property will use for mapping the pojo class veriable name(name=name ) and table attribute
name(column=name).
</class>/>
End of the class.

01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Studentdemo">


<id name="id" type="long" column="ID">

08

<generator class="increment" />

09

</id>

10

<property name="name" column="name" not-null="true" />

11

<property name="degree" column="degree" />

12

<property name="phone" column="phone" />

13
14

</class>
</hibernate-mapping>

OUTPUT:
Step 7

OutPut for Running Console hiberanate application:

Step 8 OutPut for


Running Oracle hibernate application:

Hibernate Hbm2.ddl.auto create Example Program In Eclipse


Project Structure:

JAR Files:

SaveStudent.java:
01

package com.candidjava;

02
03
04
05

public class SaveStudent {


public static void main(String[] args) {
try {

06

SaveStudentControl ctrl = new SaveStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11
12

}
}

SaveStudentControl.java:
01
02

package com.candidjava;

03

import java.sql.*;

04

import java.util.List;

05

import java.io.*;

06

import org.hibernate.*;

07

import org.hibernate.cfg.*;

08
09

public class SaveStudentControl {

10
11

private static SessionFactory sessionFactory;

12
13
14
15
16

private Session getSession() {


Session s = null;
try {
sessionFactory = new Configuration().configure(

17
18
19

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();
s = sessionFactory.openSession();
} catch (HibernateException e) {

20

System.out.println(e.getMessage());

21

22

return s;

23

24
25
26

public void addNewStudent(String[] args) throws Exception {


try {

27

Session s = getSession();

28

Transaction tx = s.beginTransaction();

29

Student stu = new Student();

30

DataInputStream ds = new DataInputStream(System.in);

31

System.out.println("*********************\n");

32

System.out.println("Enter the Student Id");

33

String stuid = ds.readLine();

34

System.out.println("Enter the Student RegNo");

35

String sturegno = ds.readLine();

36

System.out.println("Enter the Student name");

37

String stuname = ds.readLine();

38

System.out.println("Enter the Student mark1");

39

String stumark1 = ds.readLine();

40

System.out.println("Enter the Student mark2");

41

String stumark2 = ds.readLine();

42

System.out.println("Enter the Degree");

43

String degree = ds.readLine();

44

System.out.println("Enter the mobile No");

45

String mobileno = ds.readLine();

46

System.out.println("Enter the Student mail Id");

47

String mailid = ds.readLine();

48

stu.setId(3);

49

stu.setStuid(stuid);

50

stu.setSturegno(sturegno);

51

stu.setStuname(stuname);

52

stu.setStumark1(stumark1);

53

stu.setStumark2(stumark2);

54

stu.setStuid(stuid);

55

stu.setDegree(degree);

56

stu.setMobileno(mobileno);

57

stu.setMailid(mailid);

58

s.save(stu);

59
60

// Query q =
// s.createQuery("select stu.stuid, avg(stu.stuid) from Student
stu group by stu.stuid having avg(stu.stuid) > 10 ");

61

// List li=q.list();

62

// System.out.println(li);

63

// Student ss=new Student();

64

tx.commit();

65
66

System.out.println("\n\n Details Added \n");


} catch (HibernateException e) {

67

System.out.println(e.getMessage());

68

System.out.println("error");

69

70
71

72
73

}// end of class

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">create</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Student">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01 <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns=
"http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchem
0
a2
instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun
.com/xml/ns/j2ee/web-app_2_4.xsd">
03

<display-name>Create</display-name>

04

<welcome-file-list>

05

<welcome-file>index.html</welcome-file>

06

<welcome-file>index.htm</welcome-file>

07

<welcome-file>index.jsp</welcome-file>

08

<welcome-file>default.html</welcome-file>

09

<welcome-file>default.htm</welcome-file>

10

<welcome-file>default.jsp</welcome-file>

11

</welcome-file-list>

12

</web-app>

OUTPUT:

Hbm2ddl.auto Hbm2ddl.auto update Example Program In


Eclipse
ProjectStructure:

JarFiles:

SaveStudent.java:

01

package com.candidjava;

02
03
04
05
06
07
08

public class SaveStudent {


public static void main(String[] args) {
try {
SaveStudentControl ctrl = new SaveStudentControl();
ctrl.addNewStudent();
} catch (Exception e) {

09
10
11
12

System.out.println(e.getMessage());
}
}
}

SaveStudentControl.java:

01

package com.candidjava;

02
03

import java.sql.*;

04

import java.util.List;

05

import java.io.*;

06

import org.hibernate.*;

07

import org.hibernate.cfg.*;

08
09

public class SaveStudentControl {

10
11

private static SessionFactory sessionFactory;

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

private Session getSession() {


Session s = null;
try {
sessionFactory = new Configuration().configure(
"com\\xml\\hibernate.cfg.xml").buildSessionFactory();
s = sessionFactory.openSession();
} catch (HibernateException e) {
System.out.println(e.getMessage());
}
return s;
}
public void addNewStudent() throws Exception {
try {
Session s = getSession();
Transaction tx = s.beginTransaction();
Student stu = new Student();
DataInputStream ds = new DataInputStream(System.in);
System.out.println("*********************\n");
System.out.println("Enter the Student Id");
String stuid = ds.readLine();
System.out.println("Enter the Student RegNo");
String sturegno = ds.readLine();
System.out.println("Enter the Student name");
String stuname = ds.readLine();

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

System.out.println("Enter the Student mark1");


String stumark1 = ds.readLine();
System.out.println("Enter the Student mark2");
String stumark2 = ds.readLine();
System.out.println("Enter the Degree");
String degree = ds.readLine();
System.out.println("Enter the mobile No");
String mobileno = ds.readLine();
System.out.println("Enter the Student mail Id");
String mailid = ds.readLine();
stu.setId(3);
stu.setStuid(stuid);
stu.setSturegno(sturegno);
stu.setStuname(stuname);
stu.setStumark1(stumark1);
stu.setStumark2(stumark2);
stu.setStuid(stuid);
stu.setDegree(degree);
stu.setMobileno(mobileno);
stu.setMailid(mailid);
s.save(stu);
// Query q =
// s.createQuery("select stu.stuid, avg(stu.stuid) from Student
60
stu group by stu.stuid having avg(stu.stuid) > 10 ");
61
// List li=q.list();
62
// System.out.println(li);
63
// Student ss=new Student();
64
tx.commit();
65
System.out.println("\n\n Details Added \n");
66
} catch (HibernateException e) {
67
System.out.println(e.getMessage());
68
System.out.println("error");
69
}
70
71
}
72
73
}// end of class
Student.java:

01

package com.candidjava;

02
03

import java.io.*;

04
05
06
07

public class Student implements Serializable {


private long id;
private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17
18
19
20
21
22
23
24
25
26
27

return id;
}
public String getStuid() {
return stuid;
}
public String getSturegno() {
return sturegno;
}

28

public String getStuname() {

29
30
31

return stuname;

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

}
public String getStumark1() {
return stumark1;
}
public String getStumark2() {
return stumark2;
}
public String getDegree() {
return degree;
}
public String getMobileno() {
return mobileno;
}
public String getMailid() {
return mailid;
}

51
52
53
54
55

public void setId(long string) {


id = string;
}

56
57
58
59

public void setStuid(String string) {


stuid = string;
}

60
61
62
63

public void setSturegno(String string) {


sturegno = string;
}

64
65
66
67

public void setStuname(String string) {


stuname = string;
}

68
69
70
71

public void setStumark1(String string) {


stumark1 = string;
}

72
73
74
75

public void setStumark2(String string) {


stumark2 = string;
}

76
77
78
79

public void setDegree(String string) {


degree = string;
}

80
81
82
83

public void setMobileno(String string) {


mobileno = string;
}

84
85
86
87
88

public void setMailid(String string) {


mailid = string;
}
}

Web.xml:

01
02

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" version="2.4"


xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/200
03
1/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/
04
xml/ns/j2ee/web-app_2_4.xsd">

05
06
07
08
09
10
11
12
13
14

<display-name>Create</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

Hibernate.cfg.xml:

01 <!DOCTYPE hibernate-configuration PUBLIC


02
"-//Hibernate/Hibernate Configuration DTD//EN"
03
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
04 <hibernate-configuration>
05
<session-factory name="studentFactory">
06
<property name="connection.driver_class">
07
oracle.jdbc.OracleDriver
08
</property>
09
<property name="connection.url">
10
jdbc:oracle:thin:@localhost:1521:XE
11
</property>
12
<property name="connection.username">
13
system
14
</property>
15
<property name="connection.password">
16
system
17
</property>
18
<property name="connection.pool_size">5</property>
19
<!-- SQL dialect -->
20
<property name="dialect">
21
org.hibernate.dialect.OracleDialect
22
</property>
23
<!-- Echo all executed SQL to stdout -->
24
<property name="show_sql">true</property>
25

<property name="hbm2ddl.auto">update</property>

26
27
28

<mapping resource="com\\xml\\Student.hbm.xml" />


</session-factory>
</hibernate-configuration>

Student.hbm.xml:

01
<?xml version="1.0"?>
02
<!DOCTYPE hibernate-mapping PUBLIC
03
"-//Hibernate/Hibernate Mapping DTD//EN"
04
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
05 <hibernate-mapping>

06

<class name="com.candidjava.Student" table="Student2">

07

<id name="id" type="long" column="Id">

08
09
10

<generator class="increment" />


</id>
<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16

<property name="mobileno" column="MobileNo" />

17
18
19

<property name="mailid" column="MailId" />


</class>
</hibernate-mapping>

OUTPUT:

Hibernate Session Object

Hibernate Session.Save() Example Program in Eclipse


Hibernate + session.save()+Eclipse

Save:
This Program Explain how to save field values into table (Oracle) Using Hibernate.
session.save()Saves the given details into database.
It always saves only new data.
If the given ID already exists, it takes new ID and save datas for that ID as a new record.

Project Structure:

JAR Files:

SaveStudent.java:
01
02

package com.candidjava;

03
04
05

public class SaveStudent {


public static void main(String[] args) {
try {

06

SaveStudentControl ctrl = new SaveStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11

12

SaveStudentControl.java:
01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class SaveStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29

DataInputStream ds = new DataInputStream(System.in);

30

System.out.println("*********************\n");

31

System.out.println("Enter the Student Id");

32

String stuid = ds.readLine();

33

System.out.println("Enter the Student RegNo");

34

String sturegno = ds.readLine();

35

System.out.println("Enter the Student name");

36

String stuname = ds.readLine();

37

System.out.println("Enter the Student mark1");

38

String stumark1 = ds.readLine();

39

System.out.println("Enter the Student mark2");

40

String stumark2 = ds.readLine();

41

System.out.println("Enter the Degree");

42

String degree = ds.readLine();

43

System.out.println("Enter the mobile No");

44

String mobileno = ds.readLine();

45

System.out.println("Enter the Student mail Id");

46

String mailid = ds.readLine();

47

stu.setId(3);

48

stu.setStuid(stuid);

49

stu.setSturegno(sturegno);

50

stu.setStuname(stuname);

51

stu.setStumark1(stumark1);

52

stu.setStumark2(stumark2);

53

stu.setStuid(stuid);

54

stu.setDegree(degree);

55

stu.setMobileno(mobileno);

56

stu.setMailid(mailid);

57

s.save(stu);

58

Student ss = new Student();

59

tx.commit();

60

System.out.println("\n\n Details Added \n");

61

} catch (HibernateException e) {

62

System.out.println(e.getMessage());

63
64

System.out.println("error");
}

65
66

67
68

}// end of class

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52
53

public void setId(long string) {


id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78
79

degree = string;
}

80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Student">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01

<?xml version="1.0" encoding="UTF-8"?>

02

<web-app id="WebApp_ID" version="2.4"

03

xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance"

04

xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/
xml/ns/j2ee/web-app_2_4.xsd">

05

<display-name>SessionObjectSave</display-name>

06

<welcome-file-list>

07

<welcome-file>index.html</welcome-file>

08

<welcome-file>index.htm</welcome-file>

09

<welcome-file>index.jsp</welcome-file>

10

<welcome-file>default.html</welcome-file>

11

<welcome-file>default.htm</welcome-file>

12

<welcome-file>default.jsp</welcome-file>

13

</welcome-file-list>

14

</web-app>

OUTPUT:

Hibernate Session.SaveOrUpdate() Example Program in Eclipse


Hibernate + session.saveOrUpdate() + Eclipse
SaveOrUpdate:
This Program Explains the use of SaveOrUpdate method in session object.
session.saveOrUpdate()-Updates the Given details for the given Id number.
If ID doesnt exist it doesnt change any values.
Project Structure:

JAR Files:

SaveOrUpdateStudent.java:
01

package com.candidjava;

02
03
04
05
06

public class SaveOrUpdateStudent {


public static void main(String[] args) {
try {
SaveOrUpdateStudentControl ctrl
= newSaveOrUpdateStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11
12

}
}

SaveOrUpdateStudentControl.java:
01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class SaveOrUpdateStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29

DataInputStream ds = new DataInputStream(System.in);

30

System.out.println("*********************\n");

31

System.out.println("Enter ID to Change");

32

Long id = Long.parseLong(ds.readLine());

33

System.out.println("Enter the Student Id");

34

String stuid = ds.readLine();

35

System.out.println("Enter the Student RegNo");

36

String sturegno = ds.readLine();

37

System.out.println("Enter the Student name");

38

String stuname = ds.readLine();

39

System.out.println("Enter the Student mark1");

40

String stumark1 = ds.readLine();

41

System.out.println("Enter the Student mark2");

42

String stumark2 = ds.readLine();

43

System.out.println("Enter the Degree");

44

String degree = ds.readLine();

45

System.out.println("Enter the mobile No");

46

String mobileno = ds.readLine();

47

System.out.println("Enter the Student mail Id");

48

String mailid = ds.readLine();

49

stu.setId(id);

50

stu.setStuid(stuid);

51

stu.setSturegno(sturegno);

52

stu.setStuname(stuname);

53

stu.setStumark1(stumark1);

54

stu.setStumark2(stumark2);

55

stu.setStuid(stuid);

56

stu.setDegree(degree);

57

stu.setMobileno(mobileno);

58

stu.setMailid(mailid);

59

s.saveOrUpdate(stu);

60

tx.commit();

61
62

System.out.println("\n\n Details Added \n");


} catch (HibernateException e) {

63

System.out.println(e.getMessage());

64

System.out.println("error");

65

66
67

68
69

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36
37

public String getStumark2() {


return stumark2;

38

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62
63

sturegno = string;
}

64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

hibernate.cfg.xml:
01

<!DOCTYPE hibernate-configuration PUBLIC

02
03

"-//Hibernate/Hibernate Configuration DTD//EN"


"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06

<class name="com.candidjava.Student" table="Student">

07

<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01

<?xml version="1.0" encoding="UTF-8"?>

02

<web-app id="WebApp_ID" version="2.4"

03

xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance"

04

xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/

xml/ns/j2ee/web-app_2_4.xsd">
05

<display-name>SessionObjectSaveOrUpdate</display-name>

06

<welcome-file-list>

07

<welcome-file>index.html</welcome-file>

08

<welcome-file>index.htm</welcome-file>

09

<welcome-file>index.jsp</welcome-file>

10

<welcome-file>default.html</welcome-file>

11

<welcome-file>default.htm</welcome-file>

12

<welcome-file>default.jsp</welcome-file>

13

</welcome-file-list>

14

</web-app>

OUTPUT:

Hibernate Session.Update() Example Program in Eclipse


Hibernate + session.update() + Eclipse
Update:
This program explains how to update records in a table.
session.update()-Updates the Given details to the given Id number.
If ID doesnt exist it does nothing (doesnt change any values).

Project Structure:

JAR Files:

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15

16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

UpdateStudent.java:
01

package com.candidjava;

02
03
04
05
06

public class UpdateStudent {


public static void main(String[] args) {
try {
UpdateStudentControl ctrl = new UpdateStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11

12

UpdateStudentControl.java:
01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class UpdateStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15
16
17
18
19

sessionFactory = new Configuration().configure(


"com\\xml\\hibernate.cfg.xml").buildSessionFactory();
s = sessionFactory.openSession();
} catch (HibernateException e) {
System.out.println(e.getMessage());

20

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29

DataInputStream ds = new DataInputStream(System.in);

30

System.out.println("*********************\n");

31

System.out.println("Enter ID to Update");

32

Long id = Long.parseLong(ds.readLine());

33

System.out.println("Enter the Student Id");

34

String stuid = ds.readLine();

35

System.out.println("Enter the Student RegNo");

36

String sturegno = ds.readLine();

37

System.out.println("Enter the Student name");

38

String stuname = ds.readLine();

39

System.out.println("Enter the Student mark1");

40

String stumark1 = ds.readLine();

41

System.out.println("Enter the Student mark2");

42

String stumark2 = ds.readLine();

43

System.out.println("Enter the Degree");

44

String degree = ds.readLine();

45

System.out.println("Enter the mobile No");

46

String mobileno = ds.readLine();

47

System.out.println("Enter the Student mail Id");

48

String mailid = ds.readLine();

49

stu.setId(id);

50

stu.setStuid(stuid);

51

stu.setSturegno(sturegno);

52

stu.setStuname(stuname);

53

stu.setStumark1(stumark1);

54

stu.setStumark2(stumark2);

55

stu.setStuid(stuid);

56

stu.setDegree(degree);

57

stu.setMobileno(mobileno);

58

stu.setMailid(mailid);

59

s.update(stu);

60

tx.commit();

61
62

System.out.println("\n\n Details Added \n");


} catch (HibernateException e) {

63

System.out.println(e.getMessage());

64

System.out.println("error");

65

66
67

68
69

}// end of class

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06

<class name="com.candidjava.Student" table="Student">

07

<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01 <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns=
"http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchem
0
a2
instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun
.com/xml/ns/j2ee/web-app_2_4.xsd">

03

<display-name>SessionObjectUpdate</display-name>

04

<welcome-file-list>

05

<welcome-file>index.html</welcome-file>

06

<welcome-file>index.htm</welcome-file>

07

<welcome-file>index.jsp</welcome-file>

08

<welcome-file>default.html</welcome-file>

09

<welcome-file>default.htm</welcome-file>

10

<welcome-file>default.jsp</welcome-file>

11

</welcome-file-list>

12

</web-app>

OUTPUT:

Hibernate Session.Load() Example Program in Eclipse


Hibernate + session.load() + Eclipse
Load:
This program explains how to process only one field in a record using Load.
Load() Method is used to process only one record at a time.
If ID doesnt exist it provides No row with the given identifier exists: [com.candidjava.Student#9]

Project Structure:

JAR Files:

LoadStudent.java:
01

package com.candidjava;

02
03
04
05

public class LoadStudent {


public static void main(String[] args) {
try {

06

LoadStudentControl ctrl = new LoadStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11
12

}
}

LoadStudentControl.java:
01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class LoadStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29
30

DataInputStream d = new DataInputStream(System.in);

31

System.out.println("Enter ID You want Change");

32
33

int id = Integer.parseInt(d.readLine());

34

System.out.println("Enter Degree to Change");

35

String newDegree = d.readLine();

36

Student ss = new Student();

37

Student get = (Student) s.load(Student.class, new Long(id));

38

get.setDegree(newDegree);

39

tx.commit();

40

System.out.println("\n\n Details Added \n");

41

} catch (HibernateException e) {

42

System.out.println(e.getMessage());

43
44

System.out.println("error");
}

45
46

47
48

}// end of class

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06
07

public class Student implements Serializable {


private long id;
private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32
33

public String getStumark1() {


return stumark1;

34

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58
59

stuid = string;
}

60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Student">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01 <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns=
"http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchem
0
a2
instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun
.com/xml/ns/j2ee/web-app_2_4.xsd">
03

<display-name>SessionObjectLoad</display-name>

04

<welcome-file-list>

05

<welcome-file>index.html</welcome-file>

06

<welcome-file>index.htm</welcome-file>

07

<welcome-file>index.jsp</welcome-file>

08

<welcome-file>default.html</welcome-file>

09

<welcome-file>default.htm</welcome-file>

10

<welcome-file>default.jsp</welcome-file>

11

</welcome-file-list>

12

</web-app>

OUTPUT:

Hibernate Session.get() Example Program in Eclipse


Hibernate + session.get() + Eclipse

Get:
This program explains how to retrive single row in a record using sessio.get() method
session.get() Method is used to process only one record at a time.
If ID doesnt exist it provides null

Project Structure:

JAR Files:

GetStudent.java:
01

package com.candidjava;

02
03
04
05

public class GetStudent {


public static void main(String[] args) {
try {

06

GetStudentControl ctrl = new GetStudentControl();

07

ctrl.addNewStudent(args);

08

} catch (Exception e) {

09
10

System.out.println(e.getMessage());
}

11
12

}
}

GetStudentControl.java:
01

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class GetStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24
25
26

public void addNewStudent(String[] args) throws Exception {


try {
Session s = getSession();

27

Transaction tx = s.beginTransaction();

28

Student stu = new Student();

29

DataInputStream d = new DataInputStream(System.in);

30

System.out.println("Enter ID to Change Values");

31

Long id = Long.parseLong(d.readLine());

32

Student ss = new Student();

33

String stud = ss.getStuid();

34

Student get = (Student) s.get(Student.class, id);

35

System.out.println("Enter Degree to Change Values");

36

String degree = d.readLine();

37

get.setDegree(degree);

38

tx.commit();

39
40

System.out.println("\n\n Details Added \n");


} catch (HibernateException e) {

41

System.out.println(e.getMessage());

42

System.out.println("error");

43

44
45

46
47

}// end of class

Student.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuid;

08

private String sturegno;

09

private String stuname;

10

private String stumark1;

11

private String stumark2;

12

private String degree;

13

private String mobileno;

14

private String mailid;

15
16

public long getId() {

17

return id;

18

19
20

public String getStuid() {

21

return stuid;

22

23
24

public String getSturegno() {

25
26

return sturegno;
}

27
28

public String getStuname() {

29

return stuname;

30

31
32

public String getStumark1() {

33
34

return stumark1;
}

35
36

public String getStumark2() {

37
38

return stumark2;
}

39
40

public String getDegree() {

41

return degree;

42

43
44

public String getMobileno() {

45
46

return mobileno;
}

47
48

public String getMailid() {

49

return mailid;

50

51
52

public void setId(long string) {

53

id = string;

54

55
56

public void setStuid(String string) {

57
58

stuid = string;
}

59
60

public void setSturegno(String string) {

61
62

sturegno = string;
}

63
64

public void setStuname(String string) {

65
66

stuname = string;
}

67
68

public void setStumark1(String string) {

69
70

stumark1 = string;
}

71
72

public void setStumark2(String string) {

73
74

stumark2 = string;
}

75
76

public void setDegree(String string) {

77
78

degree = string;
}

79
80

public void setMobileno(String string) {

81
82

mobileno = string;
}

83
84

public void setMailid(String string) {

85
86

mailid = string;
}

87
88

hibernate.cfg.xml:
01

<!DOCTYPE hibernate-configuration PUBLIC

02

"-//Hibernate/Hibernate Configuration DTD//EN"

03

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd ">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd ">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="Student">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuid" column="StuId" not-null="true" />

11

<property name="sturegno" column="StuRegNO" />

12

<property name="stuname" column="StuName" />

13

<property name="stumark1" column="StuMark1" />

14

<property name="stumark2" column="StuMark2" />

15

<property name="degree" column="Degree" />

16
17

<property name="mobileno" column="MobileNo" />

18

<property name="mailid" column="MailId" />

19
20

</class>
</hibernate-mapping>

web.xml:
01 <?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns=
"http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchem
0
a2
instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.co

m/xml/ns/j2ee/web-app_2_4.xsd">
03

<display-name>SessionObjectGet</display-name>

04

<welcome-file-list>

05

<welcome-file>index.html</welcome-file>

06

<welcome-file>index.htm</welcome-file>

07

<welcome-file>index.jsp</welcome-file>

08

<welcome-file>default.html</welcome-file>

09

<welcome-file>default.htm</welcome-file>

10

<welcome-file>default.jsp</welcome-file>

11

</welcome-file-list>

12

</web-app>

OUTPUT:

Hibernate Session.Delete() Example Program in Eclipse

Project Structure:

JAR Files:

DeleteStudent.java:
01

package com.candidjava;

02
03

import java.io.*;

04
05 public class DeleteStudent {
06

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

07
08

DataInputStream ds = new DataInputStream(System.in);

09

System.out.println("Enter the ID You want to Delete");

10

int i = Integer.parseInt(ds.readLine());

11

try {

12

DeleteStudentControll delete = new DeleteStudentControll();

13

delete.DeleteUser(i);

14

} catch (Exception e) {

15
16

System.out.println(e.getMessage());
}

17

18

DeleteStudentControll.java:
01

package com.candidjava;

02
03

import java.util.*;

04

import org.hibernate.*;

05

import org.hibernate.cfg.*;

06

import java.io.*;

07

import org.hibernate.Transaction;

08
09

public class DeleteStudentControll {

10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xmlFiles\\hibernate.cfg.xml").buildSessionFactory
();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24

public void DeleteUser(int id) {

25

try {

26
27

System.out.println(id);

28

Session s = getSession();

29
30

Transaction tx = s.beginTransaction();
Student u = (Student) s.load(Student.class, new Long(id));//
difference between get() and load()

31

s.delete(u);

32

tx.commit();

33

System.out.println("\n\n Record Deleted \n");

34

} catch (HibernateException e) {

35

System.out.println(e.getMessage());

36

37

38
39

Student.java:
01

package com.candidjava;

02

import java.io.*;

03

public class Student implements Serializable

04

05

private long id;

06

private String stuid;

07

private String sturegno;

08

private String stuname;

09

private String stumark1;

10

private String stumark2;

11

private String degree;

12

private String mobileno;

13

private String mailid;

14
15

public long getId() {

16

return id;

17

18
19

public String getStuid() {

20

return stuid;

21

22

public String getSturegno() {

23

return sturegno;

24
25

}
public String getStuname() {

26

return stuname;

27

28

public String getStumark1() {

29
30
31

return stumark1;
}
public String getStumark2() {

32

return stumark2;

33

34

35

public String getDegree() {

36

return degree;

37

38
39

public String getMobileno() {

40

return mobileno;

41

42

public String getMailid() {

43

return mailid;

44

45

public void setId(long string) {

46

id = string;

47

48
49

public void setStuid(String string) {

50

stuid = string;

51

52

public void setSturegno(String string) {

53

sturegno = string;

54
55

}
public void setStuname(String string) {

56

stuname = string;

57

58

public void setStumark1(String string) {

59
60

stumark1 = string;
}

61

public void setStumark2(String string) {

62

stumark2 = string;

63

64

public void setDegree(String string) {

65
66

degree = string;
}

67
68

public void setMobileno(String string) {

69
70
71
72

mobileno = string;
}
public void setMailid(String string) {
mailid = string;

73

74
75

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="\com\\xmlFiles\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:
01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07
08

<class name="com.candidjava.Student" table="Student">


<id name="id" type="long" column="ID">
<generator class="increment" />

09

</id>

10

<property name="stuid" column="STUID" not-null="true" />

11

<property name="sturegno" column="STUREGNO" not-null="true" />

12

<property name="stuname" column="STUNAME" not-null="true" />

13

<property name="stumark1" column="STUMARK1" not-null="true" />

14

<property name="stumark2" column="STUMARK2" not-null="true" />

15

<property name="degree" column="DEGREE" not-null="true" />

16

<property name="mobileno" column="MOBILENO" not-null="true" />

17

<property name="mailid" column="MAILID" not-null="true" />

18
19
20

</class>
</hibernate-mapping>

web.xml:
01

<?xml version="1.0" encoding="UTF-8"?>

02

<web-app id="WebApp_ID" version="2.4"

03

xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/200
1/XMLSchema-instance"

04

xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/
xml/ns/j2ee/web-app_2_4.xsd">

05

<display-name>SessionwithDeleteQuery</display-name>

06

<welcome-file-list>

07

<welcome-file>index.html</welcome-file>

08

<welcome-file>index.htm</welcome-file>

09

<welcome-file>index.jsp</welcome-file>

10

<welcome-file>default.html</welcome-file>

11

<welcome-file>default.htm</welcome-file>

12

<welcome-file>default.jsp</welcome-file>

13
14

</welcome-file-list>
</web-app>

OUTPUT:

Hibernate Struts Inserting Data Using Eclipse

This application will use join struts and hibernate applications.

Here First we will get input from front view html or Jsp page.

Then it will pass model and cotroller using struts application.

Then In controller page input will save the database using Hibernate application.

After save the inputs will pass the front view.

Project Structure:

JarFiles:

AddStudentControl.java:
Here we will use sessionFactory for create connetion Oracle database.

sessionFactory = new Configuration().configure

(com\\xml\\hibernate.cfg.xml).buildSessionFactory();
Then we will get input from AddController.java through arguments and then save the database using

session.

stu.setStuname(stuname);

s.save(stu);
Then we will use Transaction statement for begin and commit the database.

01

Transaction tx= s.beginTransaction();


tx.commit();

package com.candidjava;

02
03

import java.sql.*;

04

import java.io.*;

05

import org.hibernate.*;

06

import org.hibernate.cfg.*;

07
08

public class AddStudentControl {

09
10

private static SessionFactory sessionFactory;

11
12

private Session getSession() {

13

Session s = null;

14

try {

15

sessionFactory = new Configuration().configure(

16

"com\\xml\\hibernate.cfg.xml").buildSessionFactory();

17
18

s = sessionFactory.openSession();
} catch (HibernateException e) {

19
20

System.out.println(e.getMessage());
}

21
22

return s;
}

23
24
25
26

public void addNewStudent(String args, String args1, String args2)


throws Exception {
try {

27

Session s = getSession();

28

Transaction tx = s.beginTransaction();

29
30

Student stu = new Student();

31

System.out.println("Student name");

32

String stuname = args;

33

String studegree = args1;

34

String stumobileno = args2;

35
36

stu.setStuname(stuname);

37

stu.setStudegree(studegree);

38

stu.setStumobileno(stumobileno);

39
40

s.save(stu);

41
42

tx.commit();

43
44

System.out.println("\n\n Details Added \n");

45

} catch (HibernateException e) {

46

System.out.println("error1" + e.getMessage());

47

System.out.println("error1");

48

49
50

51
52

}// end of class

MyController.java:

It is a Controller class .It will extends Action class.

MyModel m = (MyModel)fm;//Here model class object will store in the variable name m.

String s=m.getName();String s1=m.getDegree();String s2=m.getMobileno();//Here get input from model


class.

AddStudentControl ctrl = new AddStudentControl();//Here we will create object for AddStudentControl class

ctrl.addNewStudent(s,s1,s2);//Here pass the input to AddNewStudent method through Arguments from


MyController class.

01

package com.candidjava;

02
03

import javax.servlet.http.*;

04

import org.apache.struts.action.Action;

05

import org.apache.struts.action.ActionForm;

06

import org.apache.struts.action.ActionForward;

07

import org.apache.struts.action.ActionMapping;

08
09 public class MyController extends Action {
10
11
12

public ActionForward execute(ActionMapping map, ActionForm fm,


HttpServletRequest req, HttpServletResponse
res) throws Exception {
HttpSession ses = req.getSession(true);

13
14

MyModel m = (MyModel) fm;

15

String s = m.getName();

16

String s1 = m.getDegree();

17

String s2 = m.getMobileno();

18
19

System.out.println(s);

20

System.out.println(s1);

21

System.out.println(s2);

22
23

AddStudentControl ctrl = new AddStudentControl();

24

ctrl.addNewStudent(s, s1, s2);

25
26

ses.setAttribute("s", s);

27

ses.setAttribute("s1", s1);

28

ses.setAttribute("s2", s2);

29

if (s.equals("")) {

30

return map.findForward("error");

31

32

return map.findForward("success");

33
34

35

MyModel.java:
It is a Model class. It will extends ActionForm class which is a Serializable class. Then here we will

use get and set method.


private String name;

public String getName(){return name;}

public void setName(String n){name=n;

01

package com.candidjava;

02
03

import org.apache.struts.action.ActionForm;

04
05
06

public class MyModel extends ActionForm {


private String name;

07

private String degree;

08

private String mobileno;

09
10

public void setName(String n) {

11
12

name = n;
}

13
14

public String getName() {

15

return name;

16

17
18

public void setDegree(String n) {

19

degree = n;

20

21
22

public String getDegree() {

23

return degree;

24

25
26

public void setMobileno(String n) {

27

mobileno = n;

28

29
30

public String getMobileno() {

31

return mobileno;

32

33
34

Student.java:
It is a Pojo class. This class Must be a Serializable. Then here we will use get and set method.

private long id;

public long getId() {return id;}

public void setId(long String) {id = String;}

01

package com.candidjava;

02
03

import java.io.*;

04
05
06

public class Student implements Serializable {


private long id;

07

private String stuname;

08

private String studegree;

09

private String stumobileno;

10
11
12

public long getId() {


return id;

13

14
15
16
17

public String getStuname() {


return stuname;
}

18
19

public String getStudegree() {

20

return studegree;

21

22
23
24
25
26

public String getStumobileno() {


return stumobileno;
}

27

public void setId(long string) {

28

id = string;

29

30
31

public void setStuname(String string) {

32

stuname = string;

33

34
35

public void setStudegree(String string) {

36

studegree = string;

37

38
39

public void setStumobileno(String string) {

40

stumobileno = string;

41

42
43

web.xml:
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>//This tag will load the ActionServlet class.

<init-param><param-name>config</param-name>

<param-value>/WEB-INF/struts-config.xml</param-value> </init-param>//This tag will use configure the strutsconfig.xml.


</servlet>

<servlet-mapping><servlet-name>action</servlet-name>

<url-pattern>*.do</url-pattern> </servlet-mapping>//here *.do invoke the ActionServlet class.

01

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application


2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

02 <web-app>
03
04

<servlet>

05
06
07
08
09
10

<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servletclass>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>

11
12

<init-param>

13

<param-name>debug</param-name>

14

<param-value>2</param-value>

15

</init-param>

16

<init-param>

17

<param-name>detail</param-name>

18

<param-value>2</param-value>

19

</init-param>

20

<load-on-startup>2</load-on-startup>

21

</servlet>

22
23

<servlet-mapping>

24

<servlet-name>action</servlet-name>

25

<url-pattern>*.do</url-pattern>

26

</servlet-mapping>

27
28

<welcome-file-list>

29

<welcome-file>Login.jsp</welcome-file>

30

</welcome-file-list>

31
32

<taglib>

33

<taglib-uri>/struts-html</taglib-uri>

34

<taglib-location>/WEB-INF/struts-html.tld</taglib-location>

35

</taglib>

36
37
38
39
40

<security-constraint>
<web-resource-collection>
<web-resource-name>My secure resources</web-resource-name>
<description>Resources to be placed under security
control.</description>

41

<url-pattern>/private/*</url-pattern>

42

<url-pattern>/registered/*</url-pattern>

43

</web-resource-collection>

44

<auth-constraint>

45

<role-name>guest</role-name>

46

</auth-constraint>

47

</security-constraint>

48
49

<login-config>

50

<auth-method>BASIC</auth-method>

51

<realm-name>WebApp</realm-name>

52
53

</login-config>

54

<security-role>

55

<description>The role allowed to access our content</description>

56

<role-name>guest</role-name>

57

</security-role>

58
59

</web-app>

struts-config.xml:
<form-beans><form-bean type=com.candidjava.MyModel name =model />
</form-beans>//Beans tag will use for model class.Here name=model which is same as the controller
name=model.

<action-mappings><action path=/myActionForm type=com.candidjava.MyController name=model


input=/Login.jsp>//Action mapping tag will use both view and controller.Action tag will use for controller
class.Here path=/myActionForm which is same as the front view Login.jsp action=/myActionForm.

<forward name=success path=/Success.jsp />//Forward tag will use for view page.It will forward input to
the view page

01

<forward name=error path=/Fail.jsp /></action></action-mappings>

<?xml version="1.0" encoding="ISO-8859-1" ?>

02
03 <!DOCTYPE struts-config PUBLIC
04

"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"

05

"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">

06 <struts-config>
07
08

<form-beans>
<form-bean type="com.candidjava.MyModel" name="model" />

09

</form-beans>

10

<action-mappings>

11
12

<action path="/myActionForm" type="com.candidjava.MyController"


name="model" input="/Login.jsp">

13

<forward name="success" path="/Success.jsp" />

14

<forward name="error" path="/Fail.jsp" />

15
16
17
18

</action>
</action-mappings>
</struts-config>

hibernate.cfg.xml:
01
02
03

<!DOCTYPE hibernate-configuration PUBLIC


"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

04 <hibernate-configuration>
05
06

<session-factory name="studentFactory">
<property name="connection.driver_class">

07

oracle.jdbc.OracleDriver

08

</property>

09
10

<property name="connection.url">
jdbc:oracle:thin:@localhost:1521:XE

11

</property>

12

<property name="connection.username">

13
14
15

system
</property>
<property name="connection.password">

16

system

17

</property>

18

<property name="connection.pool_size">5</property>

19

<!-- SQL dialect -->

20

<property name="dialect">

21

org.hibernate.dialect.OracleDialect

22

</property>

23

<!-- Echo all executed SQL to stdout -->

24

<property name="show_sql">false</property>

25

<property name="hbm2ddl.auto">update</property>

26

<mapping resource="com\\xml\\Student.hbm.xml" />

27

</session-factory>

28

</hibernate-configuration>

Student.hbm.xml:

<class name=com.candidjava.Student table=student >//This tag will use for mapping Pojo class name
and table name.

<id name=id type=long column =ID><generator class=increment/></id>//This tag will use for
generating primary key id and also increment the id value.

<property name=name column=name not-null=true/>//This property will use for mapping the pojo class
veriable name(name=name ) and table attribute name(column=name).

</class>/>//End of the class.

01

<?xml version="1.0"?>

02

<!DOCTYPE hibernate-mapping PUBLIC

03

"-//Hibernate/Hibernate Mapping DTD//EN"

04

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

05 <hibernate-mapping>
06
07

<class name="com.candidjava.Student" table="StudentDet">


<id name="id" type="long" column="Id">

08

<generator class="increment" />

09

</id>

10

<property name="stuname" column="StuName" not-null="true" />

11

<property name="studegree" column="Degree" />

12

<property name="stumobileno" column="MobileNo" />

13
14

</class>

15

</hibernate-mapping>

OUTPUT:

You might also like