====== 4. Laboratoř ====== ---- **Probraná témata:** * Hibernate/NHibernate * Selektovací prostředky: - HQL - Criteria - QueryOver * Lazy inicializace * Fetch * Hibernate/Nhibernate Futures * Transakce - Isolation mode ---- **Poznámky k cvičení 5** Přinést zadání semestrální práce - na papíře (Klidně čitelně propiskou napsané), které bude obsahovat: * Databázové schéma - návrh * Architekturu systému - návrh * Splněnost jednotlivých bodů z požadované funkcionality- viz: [[courses:a4m39wa2:classification:semestral_work|]] (Stačí vždy opsaný bod a čím si představuji, že bude bod splněn) Na cvičení vše doladíme a dopíšeme požadavky a zadání bude odevzdané. ---- **Samostatná práce / Domácí ukol** - Stáhněte si následující databázi :{{:courses:a4m39wa2:labs:04:carrent.zip|}} - Rozbalte si ji - jedná se o databázi SQLite - Prozkoumejte důsledně strukturu databáze - V tabulce Customer se nachází jména studentů - K DB vytvořte GUI pomocí JSP a pro přístup do DB použijte JPA/Hibernate: * Insert entity Car do DB - s výběrem z výrobců a s výběrem ze zákazníků * Přidání nové adresy ke studentovi podle výběru * Seznamem studentů (stránkovaný - pagination) * Seznam všech automobilů (stránkovaný - pagination) včetně výrobce * Seznam všech automobilů podle konkrétního výrobce (stránkovaný - pagination) * Stránka s detaily studenta - pro vaše jméno (včetně jeho automobilů a jeho adres) * Smazání konkrétního výrobce automobilů včetně všech jeho modelů - pozor v DB zachovat zákazníky * Smazání zákazníka podle id včetně jeho automobilů - pozor zachovat výrobce Jako velikost stránky zvolte velikost 10 QuickStart dokumentace hibernate: http://docs.jboss.org/hibernate/orm/5.2/quickstart/html_single/ Sample project: {{:courses:a4m39wa2:labs:04:wa2_hibernate-1.zip|}}{{:courses:a4m39wa2:labs:04:m2.zip|}}