В настоящее время я создаю аудит некоторых классов домена и создал AuditingListener
, который вызывает ServiceMethod для сохранения старых данных.GORM inheritance custom Identifier
В этом сервисном методе я получаю класс аудита класса домена по правилам именования.
Что все работает нормально, но теперь я направляюсь к проблеме с классом аудита. Ревизионная Класс простирается от основания домена класса, как это:
class Foo {
String baaar
}
class FooAudit extends Foo {
Long auditId
Date auditDate = new Date()
}
Моя проблема заключается в том, что я хочу, чтобы держать в FooAudit
идентификатор Foo
и иметь собственное свойство идентификатора. В методе обслуживания, который создаст запись аудита, я получаю карту всех свойств исходного объекта класса домена. Я хотел бы установить с этой картой свойства FooAudit
, но карта также содержит id
объект Fooo
.
Если я установить свойства на карте, как
def auditEntry = new FooAudit()
auditEntry.properties = map
это было бы установить определить из FooAudit
такой же, как Foo
, но я хочу иметь собственный определить из FooAudit
Как я могу установить свойство auditId
как идентификатор FooAudit
?
Это может сработать, если мне не нужно 'id'' Foo' в 'FooAudit', но в этом случае мне это нужно. Так что это не сработает для меня ... – YAT
И как вы проводите аудит? Вы можете вставить FooAudit в событие beforeOpdate для Foo. –