Bonjour à tous

Voici mon problème, j'ai une classe Dictionnaire et Epreuve
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public class Dictionnaire implements java.io.Serializable {
 
    private Long dictionnaireid;
    private Boolean dictionnaire;
    private String nom;
    private String description;
    /** Field used for optimistic lock */
    private java.util.Date versions;
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public class Epreuve extends Dictionnaire implements java.io.Serializable {
 
    public java.util.Set activites;
...
La classe Dictionnaire a une propriété identifiant et un champ pour Verrouillage "Versions". la classe "Epreuve" héritant de cette dernière partage ces deux propriétés.
L'application est de type Web et comme le préconise Hibernate dans les best practice j'utilise saveOrupdate() à la place de save() pour les sauvegardes. A la place de mettre à jour une "Épreuve" existante, il en crée un nouveau systématiquement, si j'ai bien compris les règles de fonctionnement de la méthode saveOrupdate(), ils sont basées sur la propriété identifiant et le champ de verrouillage pour vérifier si un objet existe ou si il a été modifié.
Ma question est la suivante dois-je mettre un champ de verrouillage sur toutes les classes même sur celles qui héritent d'une autre dans la quelle un champ de verrouillage a déjà était défini?