Corso di Laurea in Ingegneria Informatica - Università di Roma "La Sapienza"

Corso di Progetto di Applicazioni Software - A.A. 2008/2009

Esercitazione 4


Obiettivi dell'esercitazione:


Specifica dell'applicazione:

Si intende realizzare un'applicazione che permette al Ministero dell'Istruzione di effettuare dei controlli sull'insegnamento nelle scuole elementari. A tal fine, si parte da questo diagramma delle classi di dominio, e da questa tabella delle responsabilità.

Esercizio 1

Obiettivo: Definire gli object-relational mapping tra classi di dominio persistenti e tabelle di una base di dati.
  1. Creare la base di dati Scuole, con il seguente script SQL
  2. In Eclipse, creare un nuovo progetto Java chiamato Scuole.
  3. Organizzare la cartella corrispondente al progetto appena creato (contenuta nel vostro workspace) come visto a lezione, ovvero in sottocartelle src,lib,bin. All'interno della cartella lib copiare le cartelle necessarie per Hibernate, disponibili nell'apposita sottocartella del vostro workspace.
  4. In Eclipse, impostare correttamente il classpath, definendo in maniera appropriata le proprietà del progetto. Per farlo, selezionare il progetto, ed accedere alle sue proprietà o attraverso il menu File o cliccando sul tasto destro del mouse. In particolare, ricordarsi di aggiungere i jar esterni che avete copiato nella cartella lib.
  5. Copiare all'interno della cartella src le classi Java così realizzate.
  6. Definire i file di mapping tenendo presente che:
  7. Salvare i file di mapping allo stesso livello delle relative classi Java.


Esercizio 2

Obiettivo: Configurare Hibernate per l'accesso ad una base di dati.
  1. Framework. Partire dal file hibernate.properties (originariamente contenuto nella cartella etc della distribuzione di hibernate), salvarlo nella radice del classpath dell'applicazione e modificarlo per:
  2. Logging. Partire dal file log4j.properties (anche questo originariamente contenuto nella cartella etc) e salvarlo nella radice del classpath dell'applicazione. Qui sono specificate le principali proprietà del meccanismo di logging usato, nel nostro caso Apache Log4j.
  3. Mapping. Partire dal file hibernate.cfg.xml (anche questo originariamente contenuto nella cartella etc), salvarlo nella radice del classpath dell'applicazione e modificarlo per mantenere solo gli elementi mapping relativi ai file di mapping definiti al punto precedente.
  4. N.B. In alternativa all'utilizzo del file hibernate.properties specificato al punto 1, è possibile definire le proprietà del framework nel file hibernate.cfg.xml (cf. lezione).
  5. Realizzare la classe HibernateUtil come visto a lezione, all'interno di un package persistence. Tale classe serve per la gestione di un unico oggetto SessionFactory condiviso da tutta l'applicazione, che fa da "fabbrica" di connessioni alla base di dati, ovvero di istanze della classe org.hibernate.Session.


Esercizio 3

Obiettivo: Testare l'applicazione.

Le soluzioni degli esercizi sono disponibili al link.