====== Checkpoint 2 ====== Odevzdává a prezentuje se fungující zárodek aplikace (NetBeans projekt, nebo projekt kompilovatelný ANTem/Mavenem) obsahující: * JPA entity odpovídající ER modelu navrženému v rámci [[cp1|checkpointu 1]] * dědičnost (vybrat vhodnou strategii) * použití alespoň tří z následujících technik/funkcí: * ordering (uspořádání kolekce podle atributu), * pojmenované dotazy, * kaskádní persist/update/merge/remove, * složené primární klíče * mapování výsledků JPQL/native dotazu * business logiku (session beans/spring) komunikující s těmito entitami a s jasně definovaným rozhraním k prezentační vrstvě, a implementací části tohoto rozhraní tak, aby bylo možné na této části ověřit správnou funkci, včetně výše vybraných JPA technik/funkci. Je tedy třeba mít navrženo: * jak bude business logika využívat navržené JPA entity ? * jak bude vypadat komunikace business logiky a prezentační vrstvy (např. DTO) ? * jaký bude transakční model aplikace ? * jaký bude scope jednotlivých částí business logiky (např. které session beans musí být stateless, které stateful) ? Proč ? * ... apod. * primitivní prezentační vrstvu (např. textový výstup ve webové stránce a tlačítka) sloužící k testování business logiky a JPA vlastností.