ZAWWW-2st1.2-w05.tresc-1.0--Slajd9
Przykład odwzorowania O/R
Slajd pokazuje przykładowy plik z opisem odwzorowania klasy Dept przedstawionej na jednym z poprzednich slajdów na tabelę w bazie danych Oracle o schemacie pokazanym w prawym górnym rogu slajdu. Znaczenie poszczególnych elementów pliku jest następujące:
1. Plik odwzorowania jest plikiem XML o strukturze określonej przez wskazany DTD.
2. Odwzorowanie zawarte jest w elemencie głównym <hibernate-mapping>. Atrybut „package” podaje nazwę pakietu dla klas opisanych w pliku. Dzięki temu nie trzeba ich nazw w dalszych sekcjach pliku poprzedzać nazwą pakietu.
3. Odwzorowanie dla klasy Dept na tabelę DEPT.
4. Odwzorowanie identyfikatora „id” na kolumnę „deptno”. Do odwzorowania identyfikatora służy element <id>, dla pozostałych właściwości wykorzystywany jest element <property>. Atrybut „name” zawiera nazwę pola/właściwości w klasie, a atrybut „column” nazwę kolumny w tabeli bazy danych. Atrybut „type” przyjmuje wartość jednego z typów danych Hibernate, opisujących typ danych i sposób ich konwersji między językami Java i SQL.
5. Jako część odwzorowania identyfikatora należy podać sposób generacji jego wartości zagnieżdżonym elementem <generator>. W naszym przykładzie do generacji jest użyta sekwencja w bazie danych Oracle o nazwie „dept_seq”.
6. Odwzorowanie właściwości niebędącej identyfikatorem na kolumnę tabeli. Ponieważ nazwa właściwości w klasie i kolumny w tabeli są takie same, atrybut „column” można było pominąć.