J’ai ajouté dans la classe NamHdt @Override
public boolean isHistoric() {
return true;
}
mais rien y fait. J’ai cependant trouvé un contournement pour tracer les modifications sans les faire apparaitre en clair (données sensibles) dans l’objet parent.
Le problème plus globlal est que ces données sensibles sont des champs logiques d’un formulaire (classe A) et que ces données on les récupère dans le preSave pour les chiffrer et les stocker dans une table dédiée (NamHdt).
Dans le preSave de la classe A, on surcharge les valeurs oldValue et Value pour les données sensibles par des valeurs prédéfinies qui permettent de stocker la modification ou non des données, mais pas de pouvoir lire les ancienne et nouvelles valeurs. Par ailleurs, même sans accéder a l’historique des modifications, il était gênant de les avoir en clair dans une table system.
Au vu de la copie d’écran fournie, l’historisation que vous avez coché n’est pas Table Historique mais Journal des modifications. (le hook ishistoric est pour la table historique)
Dans ce cas il faut cocher Journal complet pour avoir les mises à jour effectuées par code.
Si vous faites des mises à jour par API / Cron / Import en masse, ça ne sera pas tracé dans ce journal.