Download presentation
Presentation is loading. Please wait.
1
New Technology: Why, What ,How
Requirement . Current way of doing things. Problem . Generic Solution or Design Pattern. Available solutions in market. Hibernate . Where to read from ?
2
Typical Requirement App Data Needs to be persisted.
Data generally Outlives Applications. Application : Object Oriented Language -> Java , C# Databases : Relational Databases. Mid-Size App : Around 35% code involves Persistence Layer
3
Current way Domain Model and Schema are Designed Separately.
Tables Classes Tables. Transformation: Manual SQL and results are mapped to Objects. Lots of SQL Row becomes an Object Instance. Developers responsibility of mapping OO Instances to Tables row and Column.
4
Problem Object Relational Impedance: Resistance or Obstruction.
1. Structural Problems: a) Java Types vs. SQL Types. b) User Defined Types. c) Inheritance. 2.Behavioral Mismatch : a) Tables :data ,Objects :data and Behavior . b) Polymorphism. c) Equality. d) Associations. 3. Granularity. 4. Data Navigation.
5
Problem Large Systems : a) Cache Management b) Transaction Handling.
SQL dependent on Underlying DB : Portability ??
6
Constraints :Fundamental Shift
Reason’s why we cant change the way we work. Move to OO Databases : Gemstone,Db4O a) RDBMS backed by Mathematics. b) Performance in Data Management. c) Already Huge Investment In RDBMS. Move away From OO Concepts: a) We All know benefits of OO principles . b) Shines in Complex Domain Structure. So We have to live with Previous Problems.
7
General Solution SOLUTION: Use a mapping layer to map between
Goal : We want to directly manipulate data contained in a relational database using an object programming language (Java). SOLUTION: Use a mapping layer to map between the object world and the relational world. Automate task of converting Tables Classes Tables. Framework to optimize I/O transaction's b/w App layer and DB. Framework having a Cache Management. Runtime SQL generation :portability across different Db Vendors. This resulted in number of Home-grown ORM frameworks.
8
Available solutions Language Name Type
Lots of ORM frameworks now available in market. Language Name Type Java Hibernate Open-Source IBATIS ASF Top-Link Oracle .NET NHibernate Open-source Genome commercial
9
Why Hibernate Quite Mature and vast functionality. Open-Source .
Substantial User base. Heavily influenced JPA specification, Industry approved. Close to EJB 3 Specification. Good Caching and Transaction management functionality available. Support for almost all available Databases. Learning Curve is Easy: a) Lots of material on Net. b) Many Books now available.
10
Resources http://www.hibernate.org/hib_docs/reference/en/html_single/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.