STUDIO DI HIBERNATE ATTRAVERSO I COSTRUTTI DEL MODELLO RELAZIONALE

Slides:



Advertisements
Presentazioni simili
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
Advertisements

Università degli studi di Modena e Reggio Emilia
Re-engineering del wrapper XML Schema per il sistema MOMIS
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
Università degli Studi di Modena e Reggio Emilia
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica MOMIS: servizi di wrapping.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
Il componente Query Manager del sistema MOMIS: testing ed analisi delle performance UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA _____________________________________________________.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO DI INGEGNERIA “Enzo Ferrari” Corso di Laurea in Ingegneria Informatica Anno Accademico 2013/2014.
Scuola di Ingegneria Industriale e dell'Informazione
D.I.Me.Ca. – D.I.Me.Ca. – Università degli Studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria.
Mapping Database Atsilo
EFFETTI DELLA NORADRENALINA SULLO STROKE VOLUME MEDIANTE MONITORAGGIO CON DOPPLER ESOFAGEO UNIVERSITA' DEGLI STUDI DI UDINE FACOLTA' DI MEDICINA E CHIRURGIA.
Agile Group – DIEE, Università degli studi di Cagliari Eclipse Modeling Framework (EMF) Lavoro di: Antonio Cuccu.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Progetto e Sviluppo di un Sistema per il Gioco degli Scacchi Tridimensionali Tesi di Laurea di: Marco Bresciani matricola Relatore: Prof. Marco.
Università degli Studi Di Parma Corso di Laurea in Infermieristica Anno Accademico 2012/2013 Risultati della formazione di operatori socio-sanitari di.
Dipartimento di Scienze Fisiche, Informatiche e Naturali Corso di Laurea in Informatica Progetto e sviluppo di un applicativo web per la gestione ed archiviazione.
Musolino Carmelo Borsista del progetto di formazione NEMBO.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Università degli Studi di Modena e Reggio Emilia
Laurea Triennale in Matematica
Università di Padova Scuola di Medicina e Chirurgia Laurea Triennale in Ostetricia CORSO DI BIOLOGIA Dr. Stefania Bortoluzzi Dipartimento di Medicina.
La presentazione delle Tesi nel corso della seduta di Laurea deve rispettare il modello di Template qui di seguito proposto all'interno del quale il candidato.
Storia e modelli del giornalismo
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Uso di Unity per la Creazione di Giochi Educativi
Università degli studi di Cassino e del Lazio Meridionale Corso di Laurea Magistrale in Management a.a. 2016/2017 Marketing avanzato Prof. Marcello Sansone.
di Basi di Dati: Overview
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laure in Informatica Relatore: Riccardo.
Elaborato/Tesi di Laurea Francesco Saverio Capaldo
LE AUTOMOBILI IBRIDE: FRA PASSATO E FUTURO
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
TITOLO DELL’ELABORATO
Uso di Unity per la Creazione di Giochi Educativi
STUDIO DI HIBERNATE ATTRAVERSO I COSTRUTTI DEL MODELLO RELAZIONALE
GIS: I MONUMENTI ABBANDONATI DI PALERMO
Università degli Studi di Ferrara
UNIVERSITA’ DEGLI STUDI DI PALERMO SCUOLA POLITECNICA Dipartimento di Ingegneria Civile, Ambientale, Aerospaziale, dei Materiali (DICAM) Corso di Laurea.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Titolare del corso Prof. Giorgio Buonanno
Uso di Unity per la Creazione di Giochi Educativi
1 o 2 immagini inerenti l’argomento di tesi (le stesse della sintesi)
MOTORI A COMBUSTIONE INTERNA Prof. M. Migliaccio
Corso Di Laurea Magistrale In Ingegneria Informatica - Anno accademico
Qui il titolo del vostro elaborato Qui il vostro Nome e Cognome
Modulo di Elementi di Trasmissione del Calore Conduzione – Transitorio
SCHEMA COMPLETO AFFLUSSI-DEFLUSSI
Programmazione ad Oggetti per la Fisica
Corso Java Introduzione.
Realizzazione di un robot d’assistenza alla gente
GESTIONE INFORMATIZZATA ATTREZZATURE E MATERIALI GASL
Emergency Department Wait Time Prediction
Laureando: Nome COGNOME Matricola
Corso di Laurea Triennale in Ingegneria Elettronica e Informatica
Modulo di Elementi di Trasmissione del Calore Conduzione – Transitorio
Dipartimento di Ingegneria Meccanica per L’Energetica (DIME)
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
TITOLO TITOLO TITOLO TITOLO TITOLO TITOLO TITOLO
FULL STACK SENIOR DEVELOPER
Corso di Laurea Specialistica/Magistrale in Farmacia
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica PROGETTO E.
Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e implementazione di un applicativo di raccolta.
UNIVERSITÀ DI MODENA E REGGIO EMILIA
Titolare del corso Prof. Giorgio Buonanno
Condizioni decisionali
UML Diagramma statico di una classe
Corso di laurea in Infermieristica
Corso di laurea in Infermieristica
Corso di Laurea in Farmacia Dipartimento di Scienze del Farmaco
Transcript della presentazione:

STUDIO DI HIBERNATE ATTRAVERSO I COSTRUTTI DEL MODELLO RELAZIONALE Università degli Studi di Padova Dipartimento di Ingegneria Dell’informazione Corso di Laurea Triennale in Ingegneria Informatica Tesi di Laurea STUDIO DI HIBERNATE ATTRAVERSO I COSTRUTTI DEL MODELLO RELAZIONALE Laureando: Marco Carraro 26 Luglio 2012 Relatore: Prof. Giorgio Maria Di Nunzio Anno Accademico 2011/2012

Esempio implementazione associazione uno a molti Conclusioni SOMMARIO Hibernate Obiettivi POJO e file XML Esempio implementazione associazione uno a molti Conclusioni 26 Luglio 2012 Marco Carraro 2/15

Problema: Persistenza degli oggetti Hibernate Problema: Persistenza degli oggetti 26 Luglio 2012 Marco Carraro 3/15

Obiettivi Fornire documentazione sull’implementazione di schemi relazionali con Hibernate Analizzare vantaggi introdotti da Hibernate ed eventuali incompatibilità con alcuni schemi relazionali 26 Luglio 2012 Marco Carraro 4/15

Classi Java rappresentanti i concetti (POJO) POJO e XML - 1 Di cosa ha bisogno Hibernate per mappare le classi nel modello relazionale? Classi Java rappresentanti i concetti (POJO) File di mappatura (in XML) solitamente uno per classe 26 Luglio 2012 Marco Carraro 5/15

POJO e XML - 2 Esempio POJO: public class Classe{ private long id; … public Classe(){} //setter and getter //other methods } 26 Luglio 2012 Marco Carraro 6/15

POJO e XML - 3 Struttura tipico file XML di mappatura: <!Doctype….> <hibernate-mapping> <class> <id>Def id</id> <param name=“attr” not-null=“true” unique=“true”/> <one-to-one …/> <one-to-many …/> <many-to-one …/> <many-to-many …/> </class> </hibernate-mapping> 26 Luglio 2012 Marco Carraro 7/15

Associazione Uno a Molti - 1 Esempio Associazione Uno a Molti - 1 Traduzione in schema relazionale scelta: 26 Luglio 2012 Marco Carraro 8/15

Associazione Uno a Molti - 2 Esempio Associazione Uno a Molti - 2 Per il funzionamento necessari 6 file User.java 3 classi Java Item.java Buyer.java User.hbm.xml 3 file XML Item.hbm.xml Buyer.hbm.xml 26 Luglio 2012 Marco Carraro 9/15

Associazione Uno a Molti - 3 Esempio Associazione Uno a Molti - 3 USER.JAVA FRAMMENTO USER.HBM.XML import java.util.Set; import java.util.HashSet; public class User { private long id; private String login; private Set<Buyer>items=new HashSet<Buyer>(); // constructors setter and getter } … <property name=“login” not-null=“true”/> <set name="items" table="BUYER"> <key column="BUYER_ID"/> <one-to-many class="Buyer"/> </set> 26 Luglio 2012 Marco Carraro 10/15

Associazione Uno a Molti - 4 Esempio Associazione Uno a Molti - 4 ITEM.JAVA FRAMMENTO ITEM.HBM.XML public class Item { private Long id; private String name; private String description; private User buyer=null; //constructors, setter and getter } … <join table="BUYER" inverse="true"> <key column="ITEM_ID" unique="true"/> <many-to-one name="buyer" class="User" column="BUYER_ID"/> </join> 26 Luglio 2012 Marco Carraro 11/15

Associazione Uno a Molti - 5 Esempio Associazione Uno a Molti - 5 BUYER.JAVA FRAMMENTO BUYER.HBM.XML <class name="Buyer" table="BUYER" mutable="false"> <composite-id name="id" class="Buyer$Id"> <key-property name="itemId" access="field" column="ITEM_ID"/> <key-property name="userId" access="field" column="BUYER_ID"/> </composite-id> <property name="amount" column="AMOUNT"/ > <many-to-one name="user” not-null="true" insert="false" update="false"/> <many-to-one name="item” not-null="true" insert="false" update="false"/> </class> public class Buyer { public static class Id{ private long itemId; private long userId; //constructors, getter and setter } private Id id=new Id(); private User user; private Item item; private double amount; 26 Luglio 2012 Marco Carraro 12/15

Associazione Uno a Molti - 6 Esempio Associazione Uno a Molti - 6 Problema: schema relazionale ottenuto diverso da quello di partenza Schema voluto: Schema ottenuto: Vincolo: Su Item della relazione BUYER c’è un vincolo unique 26 Luglio 2012 Marco Carraro 13/15

Notevole riduzione codice necessario per persistenza Conclusioni - 1 Vantaggi: Notevole riduzione codice necessario per persistenza Elevato riutilizzo codice tra applicazioni diverse Miglior controllo delle performance con DataBase Connection Pool 26 Luglio 2012 Marco Carraro 14/15

Introduzione di latenza rispetto alla soluzione con JDBC Conclusioni - 2 Svantaggi: Introduzione di latenza rispetto alla soluzione con JDBC Compatibilità non completa con tutti i modelli relazionali 26 Luglio 2012 Marco Carraro 15/15