1a0a56a626
Replace the stale multi-module java/mss-failsafe skeleton (old user-management prototype) with the active single-module machine-safety inspection app that was living in its own standalone repo at the repo root. - Remove old java/mss-failsafe/ multi-module tree (mss, userdata, userManagement, mssfailsafe.datalayer, mssfailsafeWeblayer) incl. committed build artifacts - Add the active app (PrimeFaces 11 / JSF 2.3 / Hibernate 5.6 / iText / POI) flattened into java/mss-failsafe/ as the only mss-failsafe in git - Working tree captured = master tip 2a142b5 + in-progress uncommitted work (incl. .github/*.instructions.md AI-context files) - Archive the standalone repo's 33-commit history in GIT_HISTORY_ARCHIVE.md since its .git was not migrated This is the source of truth / base for the upcoming upgraded rewrite.
740 B
Executable File
740 B
Executable File
Refresh & Fake ID Instructions
Fake ID
- Negative Long Werte (<0) = temporär
- Sequenz: -1, -2, -3 ... (kleinste negative - 1)
- Erzeugung: AbstractController.createFakeID(Collection)
Persist
- Vor Speichern: if id < 0 -> setId(null)
- save/saveAll: id == null => persist, sonst merge
Refresh
- AbstractController.refrehSelected() (Tippfehler) -> getManager().refresh(selected)
- AbstractManager.refresh(entity): if id == null -> save(entity); merge + Hibernate.initialize(entity)
Best Practices
- Nach Add/Remove Child Collections refresh
- Beim Klonen zuerst Quelle laden
Verbesserungen
- Methode umbenennen zu refreshSelected()
- JavaDoc für createFakeID
Aktualisiert: 2025-10-20