sql >> Databasteknik >  >> RDS >> PostgreSQL

Axon Aggregate Identifier Type Converter

Ärligt talat, du har gått ganska djupt i frågan här @Zon. Osäker på om jag kan hjälpa dig tillräckligt, men jag kommer att prova det oavsett.

Forskningspunkt 1 är uppenbarligen den mest pragmatiska lösningen för att få saker att fungera just nu. Om du kommer att märka "ineffektiviteten" hos String jämfört med UUID är något jag skulle bli hårt pressad över. Så om detta är ett absolut nej nej, bör utredningen fortsätta. Annars gör det naturligtvis jobbet gjort.

När det gäller forskningspunkter 2 och 3 tror jag att du stöter på ett problem med dialekten som används för PostgreSQL, även om jag inte är 100% säker här. Särskilt PostgreSQL har ett par "häftiga" typer, men dessa fungerar inte alltid automatiskt i alla scenarier. Jag baserar mina "gissningar" här på att tvinga PostgreSQL att använda BYTEA istället för OID om du vill bör du lägga ner Postgres TOAST förmåga. Detta blir särskilt praktiskt om du väljer att använda Postgres för din evenemangsbutik och vill kunna se innehållet i evenemang. Det här blogginlägget anger till exempel hur man ska hantera detta. Ännu viktigare är den här bloggen inlägget visar hur du till exempel kan justera dialekten som används. Kanske kan det tjäna dig i lösning 2 och 3?

Alternativ 4 bör i detta fall vara den mest logiska lösningen att ta. Men jag förstår av ditt svar att du inte fick det att fungera för tillfället. När du kammar Axon med Spring, SpringAxonAutoConfigurer (från vilken du hänvisar till registerAggregateBeanDefinitions metod från jag tror) kommer automatiskt att söka efter konfigurerbara bönor på ditt Aggregate. Det gör det baserat på fält definierade i @Aggregate (dvs. Axon's Spring stereotyp kommentar). Mer specifikt kan du använda repository fältet i @Aggregate för att definiera bönnamnet för arkivet du vill använda.

Du bör alltså helt enkelt kunna tillhandahålla ett GenericJpaRepository bean med önskad identifierConverter . Namnet på bönan kan sedan anges i @Aggregate anteckning på din MyAggregate , så att Axons autokonfiguration kan hämta den korrekt. Hoppas detta hjälper dig!




  1. Genererar separata rader för varje månad i ett datumintervall

  2. Ansluter Oracle till SQL Server från Windows

  3. zsh:kommandot hittades inte:mysql

  4. ÅÅÅÅ-MM kolumntyp i PostgreSQL