Utrwalenie danych, tak aby zostały one zapisane i przechowane przez system informatyczny, jest jedną z podstawowych funkcji aplikacji. Prawie zawsze wymaga się trwałych danych. W przypadku Javy zazwyczaj utrwalenie danych odbywa się poprzez ich zapisanie w relacyjnej bazie danych z wykorzystaniem języka SQL. Relacyjne bazy danych stanowią niezwykle elastyczne i potężne narzędzie do zarządzania utrwalonymi danymi, jednak aby wykorzystać wszystkie zalety tego rozwiązania, trzeba zapewnić optymalne komunikowanie się aplikacji z bazą danych. Niniejsza książka stanowi wyczerpujące źródło aktualnej wiedzy o frameworku Hibernate, najpopularniejszym narzędziu do utrwalania danych dla Javy, które zapewnia automatyczne i przezroczyste mapowanie obiektowo-relacyjne. Wyczerpująco opisano też standard Java Persistence 2.1 (JSR 338). Programowanie aplikacji w Hibernate wyjaśniono tu na licznych przykładach. Pokazano, jak korzystać z mapowania, zapytań, strategii pobierania, transakcji, konwersacji, buforowania i wielu innych funkcji. Nie zabrakło opisu najlepszych praktyk w projektowaniu baz danych oraz wskazówek dotyczących optymalizacji. Wszystkie przykłady zostały uaktualnione dla najnowszych wersji frameworka Hibernate i środowiska Java EE.