KEMBAR78
Effective Persistence Using ORM With Hibernate | PDF
www.edureka.co/persistence-with-hibernate
Effective Persistence Using ORM with Hibernate
View Persistence with Hibernate course details at www.edureka.co/persistence-with-hibernate
For Queries:
Post on Twitter @edurekaIN: #askEdureka
Post on Facebook /edurekaIN
For more details please contact us:
US : 1800 275 9730 (toll free)
INDIA : +91 88808 62004
Email Us : sales@edureka.co
Slide 2 www.edureka.co/persistence-with-hibernate
At the end of this webinar, you will be able to understand:
Objectives
 What is Java Enterprise
 Java Enterprise architecture
 Hibernate
 Java EE with Hibernate
 Easy persistence with Hibernate
 Hibernate with Spring
 Session & Transactions using Spring & Hibernate
 Hibernate with search mechanism
Slide 3 www.edureka.co/persistence-with-hibernate
JavaEE – Enterprise Edition
Provides collection of APIs and runtime environments to support
Enterprise applications
 Community driven software
 Defines standard specifications which can be implemented by vendors
Provides services for
i) Persistence
ii) Messaging
iii) Web
iv) Transactions
Web services support using JAXRS(Rest) and JAXWS(SOAP)
Slide 4 www.edureka.co/persistence-with-hibernate
Slide 5 www.edureka.co/persistence-with-hibernate
An Object relational mapping library of java language for Object persistence
and SQL databases
Found in 2001 by Gavin King
Transparent persistence of java objects with relational database
Provides query language in synch with SQL
Open source library
Provides solutions for object relational impedance mismatch problems
Hibernate
Slide 6 www.edureka.co/persistence-with-hibernate
JavaEE with Hibernate
Objective is to solve the complexities existed
in EJB2 persistence architecture.
 Provided an effective Java persistence API
enabling hibernate to work with different
databases easily
 Annotations provide meta data about table
column definitions at the model level.
 Entities are developed independent of the
underlying database
Derby
Mysql
Oracle
Slide 7 www.edureka.co/persistence-with-hibernate
Provides a simple API for storing and retrieving Java objects directly to and from the database
Non-intrusive: No need to follow specific rules or design patterns
Transparent: Your object model is unaware
Persistence using Hibernate
JavaObject
int id;
String name;
String getName()
int getId()
void setName(String)
SQL Table
id [int] primary key,
name [varchar(50)],
Magic Happens Here
(O/R Mapper – i.e. Hibernate)
Slide 8 www.edureka.co/persistence-with-hibernate
DEMO : Ease of Persistence Using Hibernate
Slide 9Slide 9Slide 9 www.edureka.co/persistence-with-hibernate
Spring
An open source framework
Enables to build applications using POJO (Plain Old Java Objects)
Handles the complete infrastructure required for application from end to
end
Makes development of JavaEE (Java EnterPrise Applications) easier
Light weight and transparent
Use of IOC Containers
Supports ORM and Transaction Management
Slide 10Slide 10Slide 10 www.edureka.co/persistence-with-hibernate
Spring with Hibernate
An extensive support for ORM frameworks like
Hibernate , JPA
Provides complete infrastructure for any ORM layer used
in the application
 IOC of spring handles the SessionFactory instances of
hibernate
Configurations of hibernate are taken care efficiently by
spring application contexts
Use of hibernate.cfg.xml can be taken care by spring
applicationContext.xml
Declarative Transaction management
Built in support for exception handling
Slide 11Slide 11Slide 11 www.edureka.co/persistence-with-hibernate
Spring supports two different approach for transaction management:
Programmatic Transaction Management
» Transactions are managed by programming codes
» Highly flexible
» Difficult in maintenance
» Spring TransactionTemplate is used for programmatic approach
Declarative Transaction Management
» Transactions are handled declaratively by XML or Annotation
» Will have lesser impact with the code of application
» Extensive support from Spring AOP
» Most widely used
Transaction Management with Spring
Slide 12Slide 12Slide 12 www.edureka.co/persistence-with-hibernate
Spring Aspect Oriented Programming enables to declare transaction
declaratively with Aspect
Aspect scatters across methods, class and even objects
Can be used in xml and annotations
AOP declarative transaction:-
» Transaction-handling advice is created using <tx:advice/> and
pointcut is defined to make transactional advice that matches all
methods
» Advice begins transaction on before calling the method
» On successful execution of method advice commits the
transaction
» On failure advice rolls back
Spring AOP Transaction Management
<tx:advice id="txAdvice"
transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="create"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="createOperation"
expression="execution(*
com.tutorialspoint.StudentJDBCTemplate.create
(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-
ref="createOperation"/>
</aop:config>
Slide 13 www.edureka.co/persistence-with-hibernate
DEMO : Spring Transaction Management Using Hibernate
Slide 14Slide 14Slide 14 www.edureka.co/persistence-with-hibernate
Hibernate OGM
OGM – Object Grid Mapper
It provides Java Persistence API (JPA) support for NoSQL Solutions
Object Relational Mapping for NoSQL Databases
Provides support for most of the NoSQL database types
Scaling of Relational Databases with a NoSQL front end and with no change in domain model
Slide 15Slide 15Slide 15 www.edureka.co/persistence-with-hibernate
Hibernate OGM - Architecture
Slide 16 www.edureka.co/persistence-with-hibernate
DEMO : OGM with Hibernate
Slide 17Slide 17Slide 17 www.edureka.co/persistence-with-hibernate
An Apache library
Full text search capability
Developed on java API
Query results are returned by relevance
Fast ,flexible and stable
Easy to integrate lucence search functionality to application
Lucene
Slide 18Slide 18Slide 18 www.edureka.co/persistence-with-hibernate
One of the most base functionality of Lucene
Fields in the documents are analyzed by the IndexWriter
Creates/Updates the indexes
Indexes created/updated are equivalently stored/updated in
directory
Lucene – Indexing
Slide 19Slide 19Slide 19 www.edureka.co/persistence-with-hibernate
Search operation is basically carried via IndexSearcher
Directory having indexes are passed to IndexSearcher
IndexSearcher reads the indexes in the directory with the
help of IndexReader
Query to search is created using the QueryParser
Search performed with IndexSearcher against the query
created by QueryParser
IndexSeracher returns TopDocs which contains the
complete search details
Lucene – Search
Slide 20Slide 20Slide 20 www.edureka.co/persistence-with-hibernate
Even though Lucence provides very efficient search
capabilities , suffers with several mismatches with
domain object models
Hibernate Search built on top of the Lucence search
engine to address the short comings of lucence in
domain object models
Similarly to Hibernate which has been built in top of
the SQL databases, Hibernate search built on top of
Lucence
Hibernate address the short comings of lucence in
domain object models with annotations
Manages entities when query made to database or
as lucence query to index
Hibernate Search
Search
Request
Slide 21Slide 21Slide 21 www.edureka.co/persistence-with-hibernate
DEMO - LUCENCE APPLICATION
Slide 22 www.edureka.co/persistence-with-hibernate
Course Topics
 Module 1
» Introduction to ORM and Hibernate
 Module 2
» Persistence and Session Factory
 Module 3
» Association, Mapping & Inheritance
 Module 4
» Criteria and Query Language
 Module 5
» Transactions ,Filter and Performance
 Module 6
» Search and Validation Framework
 Module 7
» OGM, NoSQL and Spring
 Module 8
» Project
Slide 23
LIVE Online Class
Class Recording in LMS
24/7 Post Class Support
Module Wise Quiz
Project Work
Verifiable Certificate
www.edureka.co/persistence-with-hibernate
How it Works?
Questions
Slide 24 www.edureka.co/persistence-with-hibernate
Slide 25 Course Url

Effective Persistence Using ORM With Hibernate

  • 1.
    www.edureka.co/persistence-with-hibernate Effective Persistence UsingORM with Hibernate View Persistence with Hibernate course details at www.edureka.co/persistence-with-hibernate For Queries: Post on Twitter @edurekaIN: #askEdureka Post on Facebook /edurekaIN For more details please contact us: US : 1800 275 9730 (toll free) INDIA : +91 88808 62004 Email Us : sales@edureka.co
  • 2.
    Slide 2 www.edureka.co/persistence-with-hibernate Atthe end of this webinar, you will be able to understand: Objectives  What is Java Enterprise  Java Enterprise architecture  Hibernate  Java EE with Hibernate  Easy persistence with Hibernate  Hibernate with Spring  Session & Transactions using Spring & Hibernate  Hibernate with search mechanism
  • 3.
    Slide 3 www.edureka.co/persistence-with-hibernate JavaEE– Enterprise Edition Provides collection of APIs and runtime environments to support Enterprise applications  Community driven software  Defines standard specifications which can be implemented by vendors Provides services for i) Persistence ii) Messaging iii) Web iv) Transactions Web services support using JAXRS(Rest) and JAXWS(SOAP)
  • 4.
  • 5.
    Slide 5 www.edureka.co/persistence-with-hibernate AnObject relational mapping library of java language for Object persistence and SQL databases Found in 2001 by Gavin King Transparent persistence of java objects with relational database Provides query language in synch with SQL Open source library Provides solutions for object relational impedance mismatch problems Hibernate
  • 6.
    Slide 6 www.edureka.co/persistence-with-hibernate JavaEEwith Hibernate Objective is to solve the complexities existed in EJB2 persistence architecture.  Provided an effective Java persistence API enabling hibernate to work with different databases easily  Annotations provide meta data about table column definitions at the model level.  Entities are developed independent of the underlying database Derby Mysql Oracle
  • 7.
    Slide 7 www.edureka.co/persistence-with-hibernate Providesa simple API for storing and retrieving Java objects directly to and from the database Non-intrusive: No need to follow specific rules or design patterns Transparent: Your object model is unaware Persistence using Hibernate JavaObject int id; String name; String getName() int getId() void setName(String) SQL Table id [int] primary key, name [varchar(50)], Magic Happens Here (O/R Mapper – i.e. Hibernate)
  • 8.
    Slide 8 www.edureka.co/persistence-with-hibernate DEMO: Ease of Persistence Using Hibernate
  • 9.
    Slide 9Slide 9Slide9 www.edureka.co/persistence-with-hibernate Spring An open source framework Enables to build applications using POJO (Plain Old Java Objects) Handles the complete infrastructure required for application from end to end Makes development of JavaEE (Java EnterPrise Applications) easier Light weight and transparent Use of IOC Containers Supports ORM and Transaction Management
  • 10.
    Slide 10Slide 10Slide10 www.edureka.co/persistence-with-hibernate Spring with Hibernate An extensive support for ORM frameworks like Hibernate , JPA Provides complete infrastructure for any ORM layer used in the application  IOC of spring handles the SessionFactory instances of hibernate Configurations of hibernate are taken care efficiently by spring application contexts Use of hibernate.cfg.xml can be taken care by spring applicationContext.xml Declarative Transaction management Built in support for exception handling
  • 11.
    Slide 11Slide 11Slide11 www.edureka.co/persistence-with-hibernate Spring supports two different approach for transaction management: Programmatic Transaction Management » Transactions are managed by programming codes » Highly flexible » Difficult in maintenance » Spring TransactionTemplate is used for programmatic approach Declarative Transaction Management » Transactions are handled declaratively by XML or Annotation » Will have lesser impact with the code of application » Extensive support from Spring AOP » Most widely used Transaction Management with Spring
  • 12.
    Slide 12Slide 12Slide12 www.edureka.co/persistence-with-hibernate Spring Aspect Oriented Programming enables to declare transaction declaratively with Aspect Aspect scatters across methods, class and even objects Can be used in xml and annotations AOP declarative transaction:- » Transaction-handling advice is created using <tx:advice/> and pointcut is defined to make transactional advice that matches all methods » Advice begins transaction on before calling the method » On successful execution of method advice commits the transaction » On failure advice rolls back Spring AOP Transaction Management <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="create"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="createOperation" expression="execution(* com.tutorialspoint.StudentJDBCTemplate.create (..))"/> <aop:advisor advice-ref="txAdvice" pointcut- ref="createOperation"/> </aop:config>
  • 13.
    Slide 13 www.edureka.co/persistence-with-hibernate DEMO: Spring Transaction Management Using Hibernate
  • 14.
    Slide 14Slide 14Slide14 www.edureka.co/persistence-with-hibernate Hibernate OGM OGM – Object Grid Mapper It provides Java Persistence API (JPA) support for NoSQL Solutions Object Relational Mapping for NoSQL Databases Provides support for most of the NoSQL database types Scaling of Relational Databases with a NoSQL front end and with no change in domain model
  • 15.
    Slide 15Slide 15Slide15 www.edureka.co/persistence-with-hibernate Hibernate OGM - Architecture
  • 16.
  • 17.
    Slide 17Slide 17Slide17 www.edureka.co/persistence-with-hibernate An Apache library Full text search capability Developed on java API Query results are returned by relevance Fast ,flexible and stable Easy to integrate lucence search functionality to application Lucene
  • 18.
    Slide 18Slide 18Slide18 www.edureka.co/persistence-with-hibernate One of the most base functionality of Lucene Fields in the documents are analyzed by the IndexWriter Creates/Updates the indexes Indexes created/updated are equivalently stored/updated in directory Lucene – Indexing
  • 19.
    Slide 19Slide 19Slide19 www.edureka.co/persistence-with-hibernate Search operation is basically carried via IndexSearcher Directory having indexes are passed to IndexSearcher IndexSearcher reads the indexes in the directory with the help of IndexReader Query to search is created using the QueryParser Search performed with IndexSearcher against the query created by QueryParser IndexSeracher returns TopDocs which contains the complete search details Lucene – Search
  • 20.
    Slide 20Slide 20Slide20 www.edureka.co/persistence-with-hibernate Even though Lucence provides very efficient search capabilities , suffers with several mismatches with domain object models Hibernate Search built on top of the Lucence search engine to address the short comings of lucence in domain object models Similarly to Hibernate which has been built in top of the SQL databases, Hibernate search built on top of Lucence Hibernate address the short comings of lucence in domain object models with annotations Manages entities when query made to database or as lucence query to index Hibernate Search Search Request
  • 21.
    Slide 21Slide 21Slide21 www.edureka.co/persistence-with-hibernate DEMO - LUCENCE APPLICATION
  • 22.
    Slide 22 www.edureka.co/persistence-with-hibernate CourseTopics  Module 1 » Introduction to ORM and Hibernate  Module 2 » Persistence and Session Factory  Module 3 » Association, Mapping & Inheritance  Module 4 » Criteria and Query Language  Module 5 » Transactions ,Filter and Performance  Module 6 » Search and Validation Framework  Module 7 » OGM, NoSQL and Spring  Module 8 » Project
  • 23.
    Slide 23 LIVE OnlineClass Class Recording in LMS 24/7 Post Class Support Module Wise Quiz Project Work Verifiable Certificate www.edureka.co/persistence-with-hibernate How it Works?
  • 24.
  • 25.