Я добавляю Hibernate Envers в свой проект Grails 3. Я заметил, что для одной из моих сущностей, которая имеет событие onLoad()
, событие onLoad()
никогда не вызывается для сущностей ревизии Envers.
Как я могу убедиться, что этот код вызывается всегда, даже для исторических ревизии этой сущности?
Вариант использования:
Я работаю над службой RESTful с использованием представлений Grails 3 JSON. Один из моих классов доменов имеет столбец дискриминатора, который также должен отображаться в выводе JSON, чтобы потребитель мог сказать, какой это тип. По этой причине сущность домена определяет метод onLoad()
, который заполняет временное свойство, соответствующее типу дискриминатора:
class MyChildDomainClass extends MyBaseDomainClass {
void onLoad() {
valueType = ValueType.STRING
}
static mapping = {
discriminator value: ValueType.STRING
}
}
Это прекрасно работает для обычных экземпляров домена, но когда я смотрю ревизию сущности из Envers 'AuditQueryCreator
, запрос аудита не вызывает метод onLoad()
.
Похоже, я мог бы oop просмотреть результаты и вручную вызвать onLoad()
, но я надеялся, что получилось лучше способ исправить это.
Заранее спасибо!