Co je Hibernate a k čemu ho potřebujeme v Javě?

Hibernate je objektově-relační databázový framework, který řeší jednu velice důležitou věc: odděluje tvorbu samotných SQL dotazů / queries od výkonného kódu aplikace. Používáním frameworku Hibernate abstrahujete databázovou vrstvu – není v aplikaci vůbec vidět. Vůbec neřešíte syntax konkrétních SQL dotazů.

Proč nestačí JDBC se SQL?

Java Database Connectivity (JDBC) představuje rozhraní v Javě pro práci s databázemi. Velká výhoda JDBC je v tom, že v Javě abstrahuje použití konkrétní databáze. V podstatě při práci s JDBC nemusíte přesně vědět jak se připojit na MySQL, MariaDB nebo PostgreeSQL.

Při tvorbě samotných dotazů – pokud nejdete podle SQL standardů – ale využíváte příkazy specifické pro samotný databázový stroj, potřebujete dodazy přizpůsobit pro daný databázový server RDMBS (Relational Database Management System).

To je právě limitace JDBC. Když pracujete s JDBC, tak aplikaci píšete přesně na konkrétní sever. Navíc, v kódu aplikace máte SQL příkazy... a to je ... ehm... nepěkné.

Database SQL

Proč právě Hibernate?

Framework Hibernate má právě výhodu v tom, že je to framework typu ORM (Object Relational Mapping). To znamená, že v Hibernate už nepracujete ze SQL dotazy, ale používáte klasické Java třídy / klassy.

Slovo klasické nemluvím jen tak – jde o klasy, které jsou typu POJO (Plain Old Java Object), což jsou v podstatě jednoduché objekty, které se velmi jednoduše inicializují přes konstruktor bez parametrů, vlastnosti se nastavují pomocí getterů a setterů. Pokud tyto objekty napojíte na ORM Hibernate, tak máte vyhráno. Ten se již postará o to, aby změny ve vašich POJO objektech se promítly do samotné relační databáze.

A navíc: programování ve frameworku Hibernate je nezávislé na konkrétní implementací RDBMS serveru (viz výše). To znamená, že zkrátka a dobŕe (a to je velmi podstatné), umíte migrovat na rozdílné verze v rámci databázových serverů téhož typu. Navic, velmi jednoduše umíte migrovat i mezi různými RDBMS / databázovými servery.

Prečo práve Hibernate?

Hibernate vs. JDBC

Javácké appky napsané v Hibernatu se podstatně snáze udržují, než appky napsané v JDBC. Už jen z velmi prostého důvodu. Hibernate odděluje byznys logiku od SQL. A tím se zdrojové kódy jevy stávají přehlednější. Přehlednost kódu v Javě je pro Java teamleadera a projektového manažera důležitá v tom, že se programátorům snáze / efektivněji dělají změny v kódu – tedy zapracovávají nové požadavky. Appka je snadněji / efektivněji udržitelná a se podstatně jednodušší ladí případné chyby.

Hurá, ať žije Hibernate!

Jak začít programovat?

Úvod do programování pro každého bez předchozích znalostí.

Stáhněte si náš ebook teď výjimečně zdarma!!!

Cicso Lab v Bratislave

Mohlo by vás zaujímať:

Java TeamLeader Připraven pomoci.

Java TeamLeader

Online kurz programování v Javě

Školenie-java-pre-začíatočnikov

Programování není obtížné! Kódování vlastních appek v nástroji Java je veliká zábava. Do konce léta programujete vy sami nebo vaše bystré děti své první appky

Jak začít programovat?

Ako začať programovať?

Úvod do programování pro každého bez předchozích znalostí. SStáhněte si náš ebook teď výjimečně zdarma!!!

Ovládněte GIT a GitHub z příkazové řádky jako hacker

Školení-java-pro-začátečníky

Vyhraďte si den-dva a naučte se pracovat s GITem tak, že vám vaši kolegové budou dívat přes rameno, jak to do pekla děláte... od úplných základů přes praktické příklady.

7denní výzva programování Webu

7dňová výzva programovania Webu

Budete umět vytvářet pěkné weby koncem příštího týdne? Ano, dá se to! Rádi vám s tím pomůžeme. Stačí přijmout Sedmidenní výzvu a rezervovat si tento kurz