# Extend Project Instructions ## Pattern Entity -> Manager -> Controller -> XHTML -> Navigation ## Steps (Template) 1. Entity: @Entity extends AbstractEntity 2. Manager: @Stateless extends AbstractManager 3. Controller: @Named + Scope extends AbstractController 4. UI: xhtml mit #{controller} 5. Tests: CRUD + Spezialmethoden ## Fake IDs - Neue Objekte in Collections: negative ID (createFakeID) - Vor Persist: setId(null) ## Klonen - Quelle laden & initialisieren - Copy-Konstruktor - Child IDs null ## Checklist - [ ] Named Queries falls benötigt - [ ] Logging bei Fehlern - [ ] @Transactional bei Schreibmethoden - [ ] Keine System.out ## Common Pitfalls - LazyInitializationException -> refresh - Vergessen negative IDs zurückzusetzen -> Persist fehlschlägt --- Aktualisiert: 2025-10-20