quinta-feira, 13 de agosto de 2009

Advanced ORM

Blog: www.manjukiran.net
Manjukiran Pacchhipulusu
Senior Lead Software Engineer

O indiano mostrou as configurações padrões no Aplication.cfc e no Employee.cfc

O HQL deve ser gerado dentro de um cfproperty
Ex: cfproperty name="orders" formula="select Count(*) from employee

Relationship tambem vai em uma cfproperty
cfproperty name="relationshipid" fieldidtype="many-to-many" cfc="ordes" fkcolumn="employeeID"

Olhar: http://www.manjukiran.net/2009/07/15/coldfusion-orm-define-one-to-many-and-many-to-one-relationships/


Dentro do cfproperty tem um parametro chamado cascade que vc especifica o que acontece com os filhos do relacionamento.

Procedimentos ColdFusion
Aplication Start - Orm Enable? - Load Hibernate configuration - Load Hibernate mappings
Search for persistent CFCs - Generate DDL base on dbcreate - build hibernate session factory - proceed with other activities

Advanced Mapping
- Collection Mapping = similar to 1:n relationship
- Inheritance Mapping = Types: hierarchy, per subclass without discriminator
- Embedded Mapping = refers to another cfc
- Join Mapping = use one cfc for multiple tables

ORM Session
- Automatically managed by CF
- All ORM operations happen in a session
- ORM Session Management - Transactions

Load Relationships - cfproperty
-timestamp
-immediate fetching
-lazy fetching
-eager fetching
-batch fetching

Caching
-session level
-secondary level

A configuração default do cache ja serve a principio para nossa necessidade

Nenhum comentário:

Postar um comentário