Simple Hibernate Application without IDE
Here, we are going to
create the first hibernate application without IDE. For creating the first
hibernate application, we need to follow following steps:
- 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
- Load the jar file
- Run the first hibernate
application without IDE
1) Create the Persistent
class
A simple Persistent
class should follow some rules:
- A no-arg constructor: It is recommended that you
have a default constructor at least package visibility so that hibernate
can create the instance of the Persistent class by newInstance() method.
- Provide an identifier property
(optional): It is
mapped to the primary key column of the database.
- Declare getter and setter methods
(optional): The
Hibernate recognizes the method by getter and setter method names by
default.
- Prefer non-final class: Hibernate uses the concept
of proxies, that depends on the persistent class. The application
programmer will not be able to use proxies for lazy association fetching.
Let's create the
simple Persistent class:
Employee.java
package com.java.mypackage;
2
3public class Employee {
4private int id;
5private String firstName,lastName;
6
7 public int getId() {
8 return id;
9 }
1 public void setId(int id) {
1 this.id = id;
1 }
1 public String getFirstName() {
1 return firstName;
1 }
1 public void setFirstName(String firstName) {
1 this.firstName = firstName;
1 }
1 public String getLastName() {
2 return lastName;
2 }
2 public void setLastName(String lastName) {
2 this.lastName = lastName;
2 }
2
2
2 }
2) Create the mapping file
for Persistent class
The mapping file name
conventionally, should be class_name.hbm.xml. There are many elements of the mapping
file.
- hibernate-mapping is the root element in the
mapping file.
- class It is the sub-element of the
hibernate-mapping element. It specifies the Persistent class.
- id It is the subelement of class. It
specifies the primary key attribute in the class.
- generator It is the subelement of id.
It is used to generate the primary key. There are many generator classes
such as assigned (It is used if id is specified by the user), increment,
hilo, sequence, native etc. We will learn all the generator classes later.
- property It is the subelement of
class that specifies the property name of the Persistent class.
Let's see the mapping
file for the Employee class:
employee.hbm.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!DOCTYPE hibernate-mapping PUBLIC
3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
6 <hibernate-mapping>
7 <class name="com.javatpoint.mypackage.Employee" table="emp1000">
8 <id name="id">
9 <generator class="assigned"></generator>
1 </id>
1
1 <property name="firstName"></property>
1 <property name="lastName"></property>
1
1 </class>
1
1 </hibernate-mapping>
3.) Create the Configuration
file
The configuration
file contains informations about the database and mapping file. Conventionally,
its name should be hibernate.cfg.xml .
hibernate.cfg.xml
1 <?xml version='1.0' encoding='UTF-8'?>
2 <!DOCTYPE hibernate-configuration PUBLIC
3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
5
6 <hibernate-configuration>
7
8 <session-factory>
9 <property name="hbm2ddl.auto">update</property>
1 <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
1 <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
1 <property name="connection.username">system</property>
1 <property name="connection.password">oracle</property>
1 <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
1 <mapping resource="employee.hbm.xml"/>
1 </session-factory>
1
1 </hibernate-configuration>
4) Create the class that
retrieves or stores the object
In this class, we are
simply storing the employee object to the database.
1 package com.javatpoint.mypackage;
2
3 import org.hibernate.Session;
4 import org.hibernate.SessionFactory;
5 import org.hibernate.Transaction;
6 import org.hibernate.cfg.Configuration;
7
8 public class StoreData {
9 public static void main(String[] args) {
1
1 //creating configuration object
1 Configuration cfg=new Configuration();
1 cfg.configure("hibernate.cfg.xml");//populates the data of the configuration file
1
1 //creating seession factory object
1 SessionFactory factory=cfg.buildSessionFactory();
1
1 //creating session object
1 Session session=factory.openSession();
2
2 //creating transaction object
2 Transaction t=session.beginTransaction();
2
2 Employee e1=new Employee();
2 e1.setId(115);
2 e1.setFirstName("sonoo");
2 e1.setLastName("jaiswal");
2
2 session.persist(e1);//persisting the object
3
3 t.commit();//transaction is commited
3 session.close();
3
3 System.out.println("successfully saved");
3
3 }
3 }
5) Load the jar file
For successfully
running the hibernate application, you should have the hibernate4.jar file.
download the latest hibernate jar file. Some other jar files or packages are required such
as
- cglib
- log4j
- commons
- SLF4J
- dom4j
- xalan
- xerces
6) How to run the first
hibernate application without IDE
We may run this
hibernate application by IDE (e.g. Eclipse, Myeclipse, Netbeans etc.) or
without IDE. We will learn about creating hibernate application in Eclipse IDE
in next chapter.
To run the hibernate
application without IDE:
- install the oracle10g for this
example.
- load the jar files for hibernate.
(One of the way to load the jar file is copy all the jar files under the
JRE/lib/ext folder). It is better to put these jar files inside the public
and private JRE both.
- Now Run the StoreData class
by java com.javatpoint.mypackage.StoreData
No comments:
Post a Comment