1
Siddhanta Kumar Pattnaik
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Agenda
JDBC Overview
Features of Hibernate
Core Objects Of Hibernate
Hibernate Associations Mapping
Hibernate Object state
Hibernate Connection Management
Hibernate Transaction Management
Hibernate Cache implementation
Caching Concurrency Strategy
Hibernate Query Language
Hibernate Interceptors and Events
2
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
JDBC Overview
Connection con=null;
try{
//load the driver
Class.forName(OracleDriver);
//create the Connection
con=DriverManger.getConnection(url,un,pw);
con.setAutoCommit(false);
//create the statement
Statement st=con.createStatement();
st.executeQuery(select * from );
con.commit;
}catch{con.rollback();}finally{con.close();}
3
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Features of Hibernate
Hibernate is responsible for establish the
connection, creating statement ,preparing sql
statement required and cleaning the resource.
Hibernate supports two types of connection
1)DriverManager 2)Data Source connection .
2)JTA Transaction
4
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Features of Hibernate
Hibernate supports various Caching
Technique .
Default support for batch updates .
Hibernate can run in CME and non
CME Env .
Hibernate supports various types of
primary key generation algorithm .
Hibernate support Lazy loading .
5
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Session (org.hibernate.Session)
Single unit of work
Not thread safe
Transaction (org.hibernate.Transaction)
6
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Object State
Transient
Object instantiated with new operator and
is not associated with a hibernate session.
Persistent
Has a representation in the database. Can
be a object just has been saved or loaded
from db.
Detached
An object that has been persistent and a
valid reference exists for it outside the
scope of its session.
7
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
8
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Employee
Salary_Account
EMP_ID
EMP_NA
ME
SALAR
Y
SAL_ACC_ID
EMP_ID
Sateesh
100000
Harish
150000
9
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Employee
EMP_ID
1
2
Address
EMP_NA
ME
SALAR
Y
Sateesh
100000
Hrish
150000
AID
STREET
EMP_ID
13th
Phase
14th
cross
2nd cross
10
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Employee
EMP_ID
EMP_NA
ME
SALAR
Y
Sateesh
100000
Harish
150000
AID
STREET
13th Phase
14th cross
2nd cross
EMP_ADD
EMP_ADD_EMP_I
D
EMP_ADD_AID
3
11
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
12
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
14
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
15
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Cach
e
Cach
e
DB
18
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Applicatio
n
TX1
Cache
TX2
DB
19
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
TX1
TX2
cach
e
Load
Balancing
Server
DB
Applicati
on
TX1
TX1
cach
e
JBOSS Instance
2
JVM 2
20
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Provider
class
Hashtable
Type
Cluster
Safe
Query
Cache
ENV
org.hibernate. Memory No
cache.Hashtab
leCacheProvid
er
Yes
CME
and
nonCME
EHCache
org.hibernate.
cache.EhCach
eProvider
Memory No
,Disk
Yes
CME
and
nonCME
OSCache
org.hibernate.
cache.OSCach
eProvider
Memory No
,Disk
yes
CME
and
nonCME
SwarmCac
he
No
CME
and
nonCME
TreeCache
org.hibernate.
cache.TreeCac
heProvider
yes
CME only
clustere Yes
d
22
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
read-only
nonstrictread-write
read-write
Hashtable
Yes
Yes
Yes
EHCache
Yes
Yes
Yes
OSCache
Yes
Yes
Yes
SwarmCach
e
Yes
Yes
Treecache
Yes
transactio
nal
Yes
24
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
25
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
26
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.
Question?
Copyright 2012 Manhattan Associates, Incorporated. Strictly Confidential. Not for Distribution.