ebook img

Programmazione Java Avanzata Hibernate PDF

17 Pages·2010·0.12 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programmazione Java Avanzata Hibernate

Programmazione Java Avanzata HHiibbeerrnnaattee Ing. Gianluca Caminiti Riferimenti Documentazione ufficiale di Hibernate 3.5.2 (cid:1) (manuale e JavaDocs) – www.hibernate.org Hibernate Tools per Eclipse (cid:1) http://download.jboss.org/jbosstools/updates/stable Java Persistence with Hibernate (Manning,2007) – (cid:1) Capitoli 1-4 Beginning Hibernate - From Novice to Professional. (cid:1) (APress, 2006). ORM La persistenza è quella caratteristica delle (cid:1) applicazioni orientate agli oggetti che permette agli oggetti (o alle reti di oggetti) di “sopravvivere” al processo che li ha creati. Gli oggetti che non possiedono tale proprietà si (cid:1) dicono transitori (transient). L’obiettivo della persistenza è raggiunto (cid:1) principalmente mediante l’uso di DBMS relazionali. ORM L' Object-Relational Mapping (ORM) è un (cid:1) paradigma di programmazione che permette l'integrazione fra applicazioni Object-Oriented e sistemi RDBMS. Un applicazione ORM fornisce, mediante (cid:1) un'interfaccia orientata agli oggetti: I servizi inerenti la persistenza dei dati (cid:1) Un’astrazione rispetto alle caratteristiche implementative (cid:1) dello specifico RDBMS utilizzato. ORM: Vantaggi Superamento del disadattamento dell'impedenza tra paradigma (cid:1) relazionale e ad-oggetti (object/relational impedance mismatch). Riduzione della quantità di codice da scrivere. l'ORM presenta una (cid:1) semplice interfaccia per realizzare operazioni di tipo CRUD, che sono per loro natura molto ripetitive e favoriscono la possibilità che vengano commessi errori durante la stesura del codice che le implementa. Approccio stratificato, che isola in un solo livello la logica di (cid:1) persistenza dei dati, a vantaggio della modularità complessiva del sistema. Elevata portabilità rispetto alla tecnologia DBMS utilizzata. (cid:1) ORM: Vantaggi (2) Vantaggi delle applicazioni che supportano ORM: (cid:1) Caricamento automatico della rete degli oggetti secondo i (cid:1) legami di associazione definiti a livello del linguaggio di modellazione del dominio (lazy-loading, cioè caricamento dei dati collegati on-demand). Rilevamento automatico delle modifiche sui dati e (cid:1) aggiornamento implicito (dirty-checking) Gestione della concorrenza nell'accesso ai dati durante (cid:1) conversazioni (sessioni). Conflitti durante la modifica di un dato da parte di più utenti in contemporanea, possono essere automaticamente rilevati dal sistema ORM. Meccanismi di caching dei dati per migliorare le (cid:1) prestazioni di accesso al RDBMS utilizzato. ORM: Vantaggi (3) Uso del design pattern Unit of Work nella gestione delle (cid:1) transazioni, per ritardare tutte le azioni di aggiornamento dei dati al momento della chiusura della conversazione. P.es. è eseguita solo l'ultima di una serie di update su uno stesso (cid:1) dato, oppure non viene eseguita affatto una serie di update su di un dato che in seguito viene eliminato; Il colloquio con il DBMS avviene mediante composizione di query (cid:1) multiple in un unico statement, limitando così al minimo i tempi di risposta dell'applicazione. Conseguenze: miglioramento delle le caratteristiche di (cid:1) correttezza, manutenibilità, portabilità, ecc. Hibernate Hibernate è un middleware che permette di automatizzare la (cid:1) persistenza degli oggetti negli RDBMS. I mapping fra Java e Tabelle del DB sono fissati dall’utente attraverso (cid:1) file XML o annotazioni sul codice. Hibernate permette di scrivere codice che si riferisce agli oggetti Java, (cid:1) automatizzando le operazioni CRUD, tramite la generazione automatica del codice SQL che lega gli oggetti alle tabelle del DB. Esiste un linguaggio di querying (HQL) che fa riferimento ai POJOs (cid:1) E’ possibile creare il codice Java / lo schema del DB, automaticamente (cid:1) a partire dai mapping. E’ possibile partire dal DB per creare le classi (reverse engineering) (cid:1) Hibernate: Struttura public interface Session (Hibernate API) This is the central API class abstracting the notion of a persistence (cid:1) service. The lifecycle of a Session is bounded by the beginning and end of a logical transaction. The main function of the Session is to offer create, read and delete operations for instances of mapped entity classes. Instances may exist in one of three states: transient: never persistent, not associated with any Session (cid:1) persistent: associated with a unique Session (cid:1) detached: previously persistent, not associated with any Session (cid:1) Transient instances may be made persistent by calling save(), persist() (cid:1) or saveOrUpdate(). Persistent instances may be made transient by calling delete(). (cid:1) Any instance returned by a get() or load() method is persistent. (cid:1)

Description:
Documentazione ufficiale di Hibernate 3.5.2. (manuale e JavaDocs) – www.hibernate.org. ▫ Hibernate Tools per Eclipse http://download.jboss.org/jbosstools/updates/stable. ▫ Java Persistence with Hibernate (Manning,2007) –. Capitoli 1-4. ▫ Beginning Hibernate - From Novice to Professional.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.