sql >> Database teknologi >  >> RDS >> PostgreSQL

Axon Aggregate Identifier Type Converter

Helt ærligt, du er gået ret dybt ind i sagen her @Zon. Jeg er usikker på, om jeg kan hjælpe dig tilstrækkeligt, men jeg vil prøve det uanset.

Forskningspunkt 1 er åbenbart den mest pragmatiske løsning til at få tingene til at fungere lige nu. Hvis du vil bemærke "ineffektiviteten" af String sammenlignet med UUID er noget, jeg ville være hårdt presset over. Så hvis dette er et absolut nej nej, bør undersøgelsen fortsætte. Ellers får den selvfølgelig arbejdet gjort.

Når det kommer til forskningspunkter 2 og 3, tror jeg, at du støder på et problem med den dialekt, der bruges til PostgreSQL, selvom jeg ikke er 100% sikker her. Især PostgreSQL har et par "fantastiske" typer, men disse fungerer ikke altid automatisk i alle scenarier. Jeg baserer mit "gætværk" her på at tvinge PostgreSQL til at bruge BYTEA i stedet for OID i tilfælde af at du vil, skal du nedlægge Postgres' TOAST evne. Dette bliver især praktisk, hvis du vælger at bruge Postgres til din eventbutik og rent faktisk ønsker at kunne se indholdet af begivenheder. Dette blogindlæg specificerer for eksempel, hvordan man skal håndtere dette. Endnu vigtigere, denne blog post viser, hvordan du for eksempel kan justere den dialekt, der bruges. Måske det kunne tjene dig i løsning 2 og 3?

Mulighed 4 burde i dette tilfælde være den mest logiske løsning at tage. Men jeg forstår ud fra dit svar, at du ikke fik det til at virke i øjeblikket. Når du kæmmer Axon med Spring, SpringAxonAutoConfigurer (hvorfra du henviser til registerAggregateBeanDefinitions metode fra jeg tror) vil automatisk søge efter konfigurerbare bønner på dit Aggregate. Det gør det baseret på felter defineret i @Aggregate (dvs. Axon's Spring stereotype annotation). Mere specifikt kan du bruge repository feltet i @Aggregate for at definere bønnenavnet på det lager, du vil bruge.

Du skal således blot være i stand til at levere et GenericJpaRepository bean med den ønskede identifierConverter . Navnet på den bønne kan derefter angives i @Aggregate annotation på din MyAggregate , så Axons autokonfiguration kan hente den korrekt. Håber dette hjælper dig!




  1. Sådan deaktiveres en CHECK-begrænsning i SQL Server (T-SQL-eksempler)

  2. Rails:tilladelse nægtet til relationsschema_migrations

  3. Udpak Oracle LONG til streng i VBA

  4. Adgang nægtet oprettelse af den første database – hvordan giver jeg den rigtige adgang?