Я посмотрел довольно много похожих вопросов, таких как: http://community.jboss.org/message/580407#580407, но пока не нашел решения.
У действия есть много вхождений, когда создается событие, таблица Activity_occurence_AUD корректно обновляется с ревизией 0 (создание).
Однако, когда вхождение удалено, таблица activity_occurence_AUD не заполняется ревизией 2 (удаление).
Деятельность субъекта:
@Entity
@Table(name = "activity")
@Audited
public class Activity implements Serializable {
private static final long serialVersionUID = 1L;
public static final int[] VALID_PRIORITIES = { 0, 1, 2, 3 };
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", nullable = false)
private Long id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "activity")
private List<ActivityOccurrence> activityOccurrenceList;
....
}
ActivityOccurence Entity:
@Entity
@Table(name = "activity_occurrence")
@Audited
public class ActivityOccurrence implements Comparable<ActivityOccurrence>, Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", nullable = false)
private Long id;
@JoinColumn(name = "activity_id", referencedColumnName = "id", nullable = false)
@ManyToOne(optional = false)
private Activity activity;
....
}
Спящие свойства:
<entry key="hibernate.ejb.event.post-insert"
value="org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener" />
<entry key="hibernate.ejb.event.post-update"
value="org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener" />
<entry key="hibernate.ejb.event.post-delete"
value="org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener" />
<entry key="hibernate.ejb.event.pre-collection-update"
value="org.hibernate.envers.event.AuditEventListener" />
<entry key="hibernate.ejb.event.pre-collection-remove"
value="org.hibernate.envers.event.AuditEventListener" />
<entry key="hibernate.ejb.event.post-collection-recreate"
value="org.hibernate.envers.event.AuditEventListener" />
Любая помощь будет высоко ценится.
Странно, что обновление работает, а удаление - нет.
Дайте мне знать, могу ли я предоставить больше информации.