Java Persistence Programowanie aplikacji bazodanowych w Hibernate Wydanie II.pdf
(
2279 KB
)
Pobierz
Tytuł oryginału: Java Persistence with Hibernate, 2nd Edition
Tłumaczenie: Radosław Meryk
Projekt okładki: Studio Gravite / Olsztyn; Obarek, Pokoński, Pazdrijowski, Zaprucki
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
ISBN: 978-83-283-2782-5
Original edition copyright © 2016 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2017 by HELION SA
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/javpe2
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Słowo wstępne do pierwszego wydania
Przedmowa 19
Podziękowania 21
O książce 23
O autorach 27
17
C
ZĘŚĆ
I
1.1.
W
PROWADZENIE W TEMATYKĘ
ORM
31
Co to jest utrwalanie? 32
1.1.1. Relacyjne bazy danych 33
1.1.2. Język SQL 34
1.1.3. Korzystanie z języka SQL w Javie 35
Niedopasowanie paradygmatów 37
1.2.1. Problem ziarnistości 38
1.2.2. Problem podtypów 40
1.2.3. Problem tożsamości 41
1.2.4. Problemy związane z asocjacjami 43
1.2.5. Problem poruszania się po danych 44
ORM i JPA 45
Podsumowanie 47
29
Rozdział 1. Utrwalanie obiektowo-relacyjne
1.2.
1.3.
1.4.
Rozdział 2. Zaczynamy projekt
2.1.
2.2.
49
2.3.
2.4.
Wprowadzenie do frameworka Hibernate 49
Aplikacja „Witaj,
świecie”
z JPA 50
2.2.1. Konfigurowanie jednostki utrwalania 51
2.2.2. Pisanie klasy utrwalania 53
2.2.3. Zapisywanie i
ładowanie
komunikatów 54
Natywne mechanizmy konfiguracji frameworka Hibernate
Podsumowanie 60
57
Rozdział 3. Modele dziedziny i metadane
3.1.
61
Przykładowa aplikacja CaveatEmptor 62
3.1.1. Architektura warstwowa 62
3.1.2. Analiza dziedziny biznesowej 64
3.1.3. Model dziedziny aplikacji CaveatEmptor
65
Kup książkę
Poleć książkę
8
3.2.
Spis treści
Implementacja modelu dziedziny 66
3.2.1. Rozwiązanie problemu wyciekania obszarów zainteresowania
3.2.2. Przezroczyste i zautomatyzowane utrwalanie 68
3.2.3. Pisanie klas zdolnych do utrwalania 69
3.2.4. Implementacja asocjacji POJO 73
Metadane modelu dziedziny 77
3.3.1. Metadane bazujące na adnotacjach 78
3.3.2. Stosowanie reguł Bean Validation 80
3.3.3. Pobieranie metadanych z zewnętrznych plików XML 83
3.3.4. Dostęp do metadanych w fazie działania aplikacji 87
Podsumowanie 90
67
3.3.
3.4.
C
ZĘŚĆ
II
4.1.
S
TRATEGIE MAPOWANIA
91
93
Encje i typy wartości 93
4.1.1. Drobnoziarniste modele dziedziny 94
4.1.2. Definiowanie pojęć aplikacji 94
4.1.3. Odróżnianie encji od typów wartości 96
Mapowanie encji z tożsamością 97
4.2.1. Tożsamość a równość w Javie 98
4.2.2. Pierwsza klasa encji i mapowanie 98
4.2.3. Wybieranie klucza głównego 100
4.2.4. Konfigurowanie generatorów kluczy 101
4.2.5. Strategie generatorów identyfikatorów 104
Opcje mapowania encji 108
4.3.1. Zarządzanie nazwami 108
4.3.2. Dynamiczne generowanie SQL 111
4.3.3. Encje niezmienne 112
4.3.4. Mapowanie encji na podzapytanie 113
Podsumowanie 114
Rozdział 4. Mapowanie klas utrwalania
4.2.
4.3.
4.4.
Rozdział 5. Mapowanie typów wartości
5.1.
117
119
5.2.
Mapowanie prostych właściwości 118
5.1.1. Przesłanianie domyślnego zachowania dla właściwości o typach prostych
5.1.2. Personalizacja dostępu do właściwości 120
5.1.3. Używanie właściwości wyprowadzonych 122
5.1.4. Transformacje wartości kolumn 123
5.1.5. Wygenerowane i domyślne wartości właściwości 124
5.1.6. Właściwości opisujące czas 125
5.1.7. Mapowanie typów wyliczeniowych 126
Mapowanie komponentów osadzanych 126
5.2.1. Schemat bazy danych 127
5.2.2. Przystosowanie klas do osadzania 127
5.2.3. Przesłanianie osadzonych atrybutów 131
5.2.4. Mapowanie zagnieżdżonych komponentów osadzanych 132
Kup książkę
Poleć książkę
Spis treści
5.3.
Mapowanie typów Java i SQL za pomocą konwerterów 134
5.3.1. Typy wbudowane 134
5.3.2. Tworzenie własnych konwerterów JPA 140
5.3.3. Rozszerzanie frameworka Hibernate za pomocą typów użytkownika
Podsumowanie 154
9
147
5.4.
Rozdział 6. Mapowanie dla dziedziczenia
6.1.
6.2.
6.3.
6.4.
6.5.
6.6.
6.7.
6.8.
155
156
6.9.
Jedna tabela na konkretną klasę. Niejawna obsługa polimorfizmu
Jedna tabela na konkretną klasę oraz unie 158
Jedna tabela na hierarchię klas 160
Jedna tabela na podklasę oraz złączenia 164
Mieszane strategie dziedziczenia 167
Dziedziczenie klas osadzanych 169
Wybór strategii 172
Asocjacje polimorficzne 173
6.8.1. Polimorficzne asocjacje wiele-do-jednego 173
6.8.2. Polimorficzne kolekcje 176
Podsumowanie 177
Rozdział 7. Mapowanie kolekcji i asocjacje pomiędzy encjami
7.1.
Zbiory, kolekcje bag, listy i mapy typów wartości 180
7.1.1. Schemat bazy danych 180
7.1.2. Tworzenie i mapowanie właściwości będących kolekcjami
7.1.3. Wybór interfejsu kolekcji 182
7.1.4. Mapowanie zbioru 184
7.1.5. Mapowanie kolekcji bag identyfikatorów 185
7.1.6. Mapowanie list 186
7.1.7. Mapowanie mapy 187
7.1.8. Kolekcje posortowane i uporządkowane 188
Kolekcje komponentów 191
7.2.1. Równość egzemplarzy komponentu 192
7.2.2. Kolekcja Set komponentów 194
7.2.3. Kolekcja bag komponentów 196
7.2.4. Mapa wartości komponentów 197
7.2.5. Komponenty jako klucze mapy 198
7.2.6. Kolekcje w komponencie osadzanym 199
Mapowanie asocjacji encji 200
7.3.1. Najprostsza możliwa asocjacja 201
7.3.2. Definiowanie asocjacji dwukierunkowych 202
7.3.3. Kaskadowe zmiany stanu 204
Podsumowanie 211
179
180
7.2.
7.3.
7.4.
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
Ciagle dostarczanie oprogramowania w jezyku Java Najlepsze narzedzia i praktyki wdrazania kodu.pdf
(2771 KB)
Android Aplikacje wielowatkowe Techniki przetwarzania.pdf
(2109 KB)
Head First EJB Edycja polska Rusz glowa.pdf
(1704 KB)
Algorytmy struktury danych i techniki programowania dla programistow Java.pdf
(1654 KB)
Head First Java Edycja polska Rusz glowa.pdf
(2880 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin