Это может помочь вам (не проверено, но я думаю, что это будет работать).событие DescriptorEvent
, которое вы получили, object
- сущность, которую вы хотите проверить на изменения.
UnitOfWorkImpl uow = (UnitOfWorkImpl) event.getSession();
ClassDescriptor descriptor = uow.getDescriptor(object);
boolean isNew = uow.isObjectNew(object);
if (isNew || descriptor.getObjectChangePolicy().shouldCompareExistingObjectForChange(object, uow, descriptor)) {
ObjectChangeSet changes = null;
if (isNew) {
changes = descriptor.getObjectChangePolicy().calculateChangesForNewObject(object, changeSet, uow, descriptor, true);
} else {
changes = descriptor.getObjectChangePolicy().calculateChangesForExistingObject(object, changeSet, uow, descriptor, true);
}
boolean hasChanges = changes.hasChanges();