Dobrý den,
chtěl bych se zeptat jak byste řešili následující problém. Mám v aplikaci
nějaké entity a potřebuji generovat historii všech změn.
např
class User {
private String name;
private String password;
...
}
načtu uživatele z db změním jméno a znova uložím, pak potřebuju mít někde
záznam o tom že jsem pole name změnil z hodnoty x na y v nějaký čas.
Napadlo mě.
class GlobalHistory{
private String oldValue;
private String newValue;
private String field;
}
class GlobalHistoryBundle{
private String classType;
private Set<GlobalHistory> fields;
}
při na každý update v dao pak dát aspekt, který nejprve načte z db původní
entitu, porovná s tím co chci uložit a vygeneruji GlobalHistory a
GlobalHistoryBundle. Po úspěšném uložení entity uložím i tuto historii.
Používám technologie hibernate a spring.
Vidíte nějaké slabiny, případně máte jiný osvědčený způsob?
Martin Chalupa