Lista zadań nr 3
NHibernate
Dane są tabele:
Publikacja( ID INT PK, Sygn INT, Tytul VARCHAR(50) )
Czytelnik( ID INT PK, Pesel CHAR(11), Imie VARCHAR(20), Nazwisko VARCHAR(40) )
Wypozyczenie(ID INT PK, ID_Publikacja INT REF Publikacja, ID_Czytelnik INT REF Czytelnik, DataOd DATE, DataDo DATE, Oddana BOOL)
-
Przygotuj klasy oraz ich mapowanie na tabele Ksiazka, Czytelnik i Wypozyczenie za pomocą:
- plików XML,
- atrybutów w klasach,
- mechanizmu z bibliotegki FluentNHibernate.
[3p]
-
Zbiór encji oparty o tabele rozszerzamy o następujące klasy dziedziczące z klasy Publikacja:
- Ksiazka( Autor VARCHAR(50), IleStron INT ) : Publikacja,
- Czasopismo( Czestosc VARCHAR(20), Nr INT ) : Publikacja.
Odpowiednio rozszerzyć mapowania z zadania 1, aby zamapować powyższe klasy. Należy to zrobić na trzy sposoby omówione na wykładzie.
[3p]
-
Wypełnić bazę danych przykładowymi danymi (realnymi, żeby potem można było zadawać jakieś sensowne zapytania). Przygotować 10 przykładowych raportów, w tym
- 7 w języku HQL,
- 3 za pomocą „obiektowego języka zapytań”.
W przykładowych raportach należy wykorzystać podstawowe konstrukcje jak złączenie, grupowanie, agregacja, warunki (where i having), sortowanie. Należy też przygotować co najmniej jedno zapytanie polimorficzne.
[4p]