Hibernate Tutorial
Hibernate ORM is an object-relational mapping tool for the
Java programming language. It provides a framework for mapping an
object-oriented domain model to a relational database.
Maven commands:
mvn archetype:generate -DgroupId=com.devyan.hibernate -DartifactId=HibernateFirstAPP -DarchetypeArtifactId=maven-archetype-webapp
-DinteractiveMode=false
Switch to your workspace and execute below maven command to
make project eclipse compatible.
mvn eclipse:eclipse -Dwtpversion=2.0
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.devyan.hibernate</groupId>
<artifactId>HibernateFirstAPP</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>HibernateFirstAPP
Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.10.Final</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.187</version>
</dependency>
</dependencies>
<build>
<finalName>HibernateFirstAPP</finalName>
</build>
</project>
Employee.java
package com.devyan.hibernate;
public class Employee {
int empno;
String ename;
String job;
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
EMP.hbm.xml
<!DOCTYPE hibernate-mapping
PUBLIC
"-//Hibernate/Hibernate
Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping >
<class name="com.devyan.hibernate.Employee"
table="HIBERNATE.Employee">
<id name="empno"
type="int"/>
<property name="ename"/>
<property name="job"/>
</class>
</hibernate-mapping>
NOTE: HIBERNATE.Employee
where HIBERNATE is my schema name and Empoyee is table name
hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC
"-//Hibernate/Hibernate
Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">SYSTEM</property>
<property name="connection.password">oracle</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="EMP.hbm.xml"/>
</session-factory>
</hibernate-configuration>
NOTE:
i.)
ADD ojdbc5.jar in your project
Database Setup
Create
a table Employee in your Oracle database
CREATE
TABLE employee
(
empno number(10) NOT NULL,
ename varchar2(50) NOT NULL,
job varchar2(50)
);
StoreEmployeeData.java
package com.devyan.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class StoreEmployeeData {
public static void main(String[] args) {
//creating configuration object
Configuration cfg=new Configuration();
cfg.configure("hibernate.cfg.xml");//populates the data of the
configuration file
//creating seession factory object
SessionFactory factory=cfg.buildSessionFactory();
//creating session object
Session session=factory.openSession();
//creating transaction object
Transaction t=session.beginTransaction();
Employee e1=new Employee();
e1.setEmpno(1323415);
e1.setEname("NEwton");
e1.setJob("Analyst");
session.persist(e1);//persisting the object
t.commit();//transaction is commited
session.close();
System.out.println("successfully saved");
}
}
Run your java
application:
Console message:
INFO:
HHH000232: Schema update complete
successfully saved



0 comments:
Post a Comment