Tirando proveito do n hibernate
22
Tirando proveito do Tirando proveito do NHibernate NHibernate Dílter Porto Dílter Porto [email protected] @dilterporto
-
Upload
dilter-porto -
Category
Documents
-
view
982 -
download
1
Transcript of Tirando proveito do n hibernate
- 1. Tirando proveito do NHibernate Dlter Porto [email_address] @dilterporto
2. Agenda() {
- Impedance Mismatch
- ORM (Object Relational Mapping)
- NHibernate
- Fluent NHibernate
- Demonstrao
} 3. Oproblema daimpedncia objeto-relacional 4. O bjectR elationalM apping (1/3)
- Significa => Mapeamento Objeto-Relacional
- Proposta:
-
- Minimizar aimpedncia(conceitual e tcnica) entre OO e OR
-
-
- estruturashierrquicasX estruturasrelacionais
-
-
-
- diferena de tipos de dados
-
-
-
- conceituao: Herana, Polimorfismo, encapsulamento ()
-
-
- Facilitar o acesso a dados
-
- Trazer o desenvolvimento para Orientao a Objetos
5. O bjectR elationalM apping (2/3)
- Benefcios
-
- Produtividade:
-
-
- Elimina cdigo repetitivo
-
-
-
- Gerao do banco de dados
-
-
- Manutenibilidade:
-
-
- Menos linhas de cdigo
-
-
-
- Mudanas no Modelo de Objetos
-
-
- Perfomance
-
-
- Lazy loading
-
-
-
- Caching
-
-
- Independncia de tecnologia de Banco de Dados
6. O bjectR elationalM apping (3/3)
- ORM em uma
- arquitetura n-tier
7.
- O que : Framework deORM
- Portado doHibernate Corepara.NET Framework
- Portado para .NET 1.1, 2.0 e 3.5
- XML-based
- Suporte da comunidade
- Open-source
- Licena LGPL uso comercial
8.
- Principais caractersticas: (1/2)
-
- Independente de bases de dados
-
- Persisteerecuperaobjetos .NET em bases relacionais (POCO)
-
- Favoreceuma abordagem focada nodomnio (Domain Driven Design)
-
- Sensvel alteraes nas entidades
9.
- Principais caractersticas: (2/2)
-
- Geradores de chave-primria
-
- API Extensvel
-
- Baseado emDesign Patterns(Unit of Work, Identity Map)
-
- Sistema de consultas OO
-
- Gerenciador de Sesses e Transaes
10.
- Arquitetura:
Configurao de conexo e banco de dados Mapeamento dos objetos e entidades relacionais 11.
- Principais interfaces:
-
- ISessionFactory
-
-
- Possui aconfiguraoemapeamentos
-
-
-
- Constroia sesso
-
-
- ISession
-
-
- Representa aconversaoentre aplicao e o banco relacional
-
-
-
- Encapsula ADO.NET
-
-
- ITransaction(opcional)
-
- IQueryeICriteria
-
-
- Formas de consulta em objetos
-
12.
- Mapeamentos:
-
- XML (NHibernate.dll)
-
- .NET Attributes (libNHibernate.Mapping.Attributes )
-
- Fluente (lib Fluent NHibernate)
-
-
- Fluent
-
-
-
- Automapeamento
-
13.
- Mapeamento XML: (NHibernate Core)
Entidade Mapeamento: 14.
- Mapeamento .NET Attributes:(lib externa)
Entidade Mapeamento: 15.
- Mapeamento Fluente: (Fluent NHibernate)
Entidade Mapeamento: 16.
- Auto-mapeamento: (Fluent NHibernate)
No ISessionFactory: 17.
- Fluent NHibernate:
Fluent, XML-less, compile safe, automated, convention-based mappings for Nhibernate . 18.
- Fluent NHibernate:
-
- Fornece umaalternativaao mapeamento XML padro
-
- Mapeamentos escritos em C#
-
- Facilita tcnicas deRefactoring
-
- Externo aoNHibernate Core
19.
- Fluent NHibernate:
-
- Principais benefcios
-
-
- Automapeamento
-
-
-
- Configurao via API comInterface Fluent e
-
-
-
- Flexibilidade na configurao do banco de dados
-
20.
- Demonstrao com Fluent NHibernate
21.
- Dvidas?
22.
- Obrigado!
O temor a Deus o princpio de toda cincia. Provrbios 1:7