1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente...

19

Transcript of 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente...

Page 1: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 2: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 3: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 4: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 5: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 6: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 7: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.

1.E’ un algoritmo ricorsivo: Tutti le istanze di oggetti “raggiungibili” da un oggetto persistente diventano anch’essi persistenti.

Page 8: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.

Persistence ContextPersistence Context

Page 9: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.

Soluzione di NHibernate:Persistence by Reachability con Cascade

Associazione

Cascade

Behaviour

Page 10: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 11: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 12: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 13: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 14: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 15: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 16: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.

ContextContext

ContextContext

Context ProviderContext Provider

User Interface Layer

Business Layer

Data Access Layer

DAODAO DAODAO DAODAO

Context:

Identity MapUnit of WorkAutomatic Dirty CheckOptimistic ConcurrencyPessimistic ConcurrencyProxy per Lazy...

Context:

Identity MapUnit of WorkAutomatic Dirty CheckOptimistic ConcurrencyPessimistic ConcurrencyProxy per Lazy...

Page 17: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Page 18: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.

“...Hibernate’s job is to reduce the amount of code you have to write for the most common 90 percent of use cases (common CRUD and reporting)...”

“…Hibernate’s learning curve is high at first. In our experience, a developer needs at least two to four weeks to learn the basics. Don’t jump on Hibernate one week before your project deadline. It won’t save you…”

“…Finally, use SQL, JDBC, and stored procedures for the 5 percent of use cases you can’t implement with Hibernate, such as mass data manipulation

or complex reporting queries with vendor-specific SQL functions…”

[Gavin King, Hibernate in Action]

Page 19: 1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.