Junior
Aké sú výhody Hibernate oproti JDBC?
sobes.tech AI
Odpoveď od AI
Hibernate - ORM (Object-Relational Mapping) rámec, ktorý zjednodušuje prácu s databázami v Java aplikáciách. Výhody oproti JDBC:
- Zníženie objemu boilerplate kódu: Hibernate preberá rutinu písania SQL dopytov, mapovania výsledkov na objekty a správy spojení.
- Objektovo orientovaná interakcia: Vývojár pracuje s Java objektmi namiesto s relačnými tabuľkami.
- Caching: Podporuje cache prvého a druhého stupňa, znižuje počet volaní na databázu a zvyšuje výkon.
- Lazy Loading (lenivé načítanie): Súvisiace objekty sa načítajú iba v prípade potreby, šetrí zdroje.
// Príklad lazy loading // Order order = session.get(Order.class, orderId); // // Súvisiace položky ešte nie sú načítané // List<OrderItem> items = order.getItems(); // Tu sa načítajú - Správa transakcií: Poskytuje pohodlné API na prácu s transakciami.
- Nezávislosť od konkrétneho SGBD: Väčšina kódu Hibernate je prenosná medzi rôznymi databázami.
- Vstavané mechanizmy na prácu so vzťahmi: Umožňuje ľahko spravovať vzťahy medzi objektmi (jeden ku jednému, jeden ku mnohým, mnoho ku mnohým).
- HQL (Hibernate Query Language) a Criteria API: Vysokoúrovňové jazyky na písanie dopytov, pohodlnejšie než natívny SQL.
// Príklad HQL dopytu // String hql = "FROM Employee WHERE salary > 50000"; // Query query = session.createQuery(hql); - Automatická generácia DDL: Môže generovať alebo aktualizovať schému databázy na základe Java entít.