Jeg legger Hibernate Envers til min Grails tre prosjekt. Jeg la merke til at for en av mine enheter, som har et onLoad()
hendelsen, onLoad()
er hendelsen aldri påberopt for Envers revisjonsenheter.
Hvordan kan jeg sørge for at denne koden er alltid påberopt, selv for historiske revisjoner av denne enheten?
Use case:
Jeg jobber med en avslappet tjenesten ved hjelp av Grails 3 JSON utsikt. En av mine domene klasser har en diskriminator kolonne, som også må gjengitt i JSON-utgang slik at forbrukeren kan fortelle hvilken type det er. Av denne grunn definerer domenet foretaket en onLoad()
metode som fyller et forbigående eiendom matcher discriminator Type:
class MyChildDomainClass extends MyBaseDomainClass {
void onLoad() {
valueType = ValueType.STRING
}
static mapping = {
discriminator value: ValueType.STRING
}
}
Dette fungerer greit for normale domene tilfeller, men når jeg ser opp en enhet revisjon fra Envers' AuditQueryCreator
, er revisjonen queyr ikke påberope seg onLoad()
metoden.
Det virker som jeg kunne sløyfe over resultatene og påberope manuelt onLoad()
, men jeg hadde håpet det var en bedre måte å fikse dette.
Takk på forhånd!