i ont les deux classes Personne et ATTRIBUT, bref:@ManyToMany: RevType est seulement ADD
@Entity
@Indexed
@Table(name="persons")
public class Person {
private int id;
private List<Attribute> attributes;
@Id
@DocumentId
@GeneratedValue
@Column(name="person_id")
public int getId() {
return id;
}
@ManyToMany
@JoinTable(
name="attribute_alloc",
joinColumns={@JoinColumn(name="person_id")},
inverseJoinColumns={@JoinColumn(name="attribute_id")}
)
@Audited
public List<Attribute> getAttributes() {
return attributes;
}
// other properties, setters and getters...
}
@Entity
@Indexed
@Table(name="attributes")
public class Attribute {
private int id;
private List<Person> persons;
@Id
@DocumentId
@GeneratedValue
@Column(name="attribute_id")
public int getId() {
return id;
}
@ManyToMany(mappedBy="attributes")
public List<Attribute> getPersons() {
return persons;
}
// other properties, setters and getters...
}
Pour ces classes les personnes tables db, attributs, attribute_alloc, persons_aud, attributes_aud et attribute_alloc_aud ont été générés correctement.
Tout fonctionne bien sauf l'audit pour les attributs en personne. Dans la table attribute_alloc_aud, les changements (par exemple supprimer un attribut et en ajouter un nouveau à une personne) sont suivis correctement, mais toujours marqués avec le REVTYPE ADD. Par exemple:
- REV; person_id; attribut_id; REVTYPE
- 1; 1; 1;
- 1; 1; 2;
- 2; 1; 1;
- 2; 1; 5;
- 3; 1; 8;
conséquence est que la personne auditée dans la dernière révision a les attributs 1, 2, 5 et 8. correcte serait seulement 8!
Qu'est-ce qui ne va pas? Merci beaucoup! Meilleures salutations
Levi
Merci! C'était un indice très utile! – Levis