Question

J'ai la personne et attribuez les deux classes, en bref:

@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 tables DB personnes, attributs, attribut_alloc, personnes_aud, attributes_aud et attribut_alloc_aud ont été générés correctement.

Tout fonctionne bien sauf l'audit des attributs en personne.Dans le tableau Attribute_ALLOC_AUD, les modifications (en supprimant par exemple un attribut et l'ajout d'une nouvelle à une personne) sont suivies correctement, mais toujours marquées avec le ROVTYPE Add.Par exemple:

  • rév;personne_id;attribut_id; ROWTYPE
  • 1;1;1; 0
  • 1;1;2; 0
  • 2;1;1; 0
  • 2;1;5; 0
  • 3;1;8; 0

conséquence est que la personne auditée dans la dernière révision a les attributs 1, 2, 5 et 8. correct serait seulement 8!

Qu'est-ce qui ne va pas? Merci beaucoup! Meilleures salutations

levi

Était-ce utile?

La solution

Cela peut probablement être probablement lorsque vous mettez à jour la collection à Bestomany, vous pouvez supprimer la collection, puis ajouter une nouvelle collection.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top