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.
26 lines
740 B
Markdown
Executable File
26 lines
740 B
Markdown
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<E>)
|
|
|
|
## 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
|