EclipseLink Audit / История / Отслеживание изменений

Я пытался реализовать способ отслеживания изменений данных и создания журнала истории для моего приложения. Потому что я'Используя EclipseLink, легко и просто получить изменения, как онинапишите на EclipseLink FAQ Первое решение работает, но второе событие на основе выигралт работа. Каждый раз, когда событие вызывается, ObjectChangeSet имеет значение null.

Причина, почему яя не просто использую HistoryPolicy, что я хочуt хранить информацию о вошедшем в систему пользователе (не о пользователе db) и измененных данных в отдельной таблице. Я много искал, но могуне могу найти решение этой проблемы.

Это мой класс сущности:

@Entity
@EntityListeners(HistoryEventListener.class)
@Table(name = "t_users")
    public class Users implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GENSEQ_USERS")
@SequenceGenerator(name = "GENSEQ_USERS", sequenceName = "SEQ_USERS", allocationSize = 1, initialValue = 1)
private Integer id;
@Column(nullable = false)
private String userid;
...
}

И это мой класс DescriptorEventAdapter:

public class HistoryEventListener extends DescriptorEventAdapter {

@Override
public void postUpdate(DescriptorEvent event) {
    ObjectChangeSet changeSet = event.getChangeSet();
    if (changeSet != null) {
        System.out.println("ObjectChangeSet not null");
    }
    System.out.println("ObjectChangeSet null");
}

@Override
public void postMerge(DescriptorEvent event) {
    ObjectChangeSet changeSet = event.getChangeSet();
    if (changeSet != null) {
        System.out.println("ObjectChangeSet not null");
    }
    System.out.println("ObjectChangeSet null");
}
}

Файл persistence.xml, который ямы использовали:




    
        org.eclipse.persistence.jpa.PersistenceProvider
    
        false
    
        
        
        
        
        
    


Любая помощь приветствуется.

Ответы на вопрос(1)

Ваш ответ на вопрос