sql >> Databáze >  >> RDS >> PostgreSQL

Axon Aggregate Identifier Type Converter

Upřímně, šel jsi do této záležitosti docela hluboko @Zon. Nejste si jisti, zda vám mohu dostatečně pomoci, ale přesto to zkusím.

Výzkumný bod 1 je zjevně nejpragmatičtějším řešením, jak uvést věci do chodu hned teď. Pokud si všimnete "neefektivnosti" String ve srovnání s UUID je něco, na co bych byl těžce natlačen. Takže pokud je to absolutní ne ne, vyšetřování by mělo pokračovat. Jinak to samozřejmě udělá svou práci.

Pokud jde o body výzkumu 2 a 3, domnívám se, že narazíte na problém s dialektem používaným pro PostgreSQL, i když si zde nejsem 100% jistý. Zejména PostgreSQL nabízí několik "úžasných" typů, ale ne vždy automaticky fungují ve všech scénářích. Zakládám zde své "hádání" na vynucení PostgreSQL k použití BYTEA místo OID v případě, že chcete, měli byste stáhnout Postgres' TOAST schopnost. To se stane obzvláště užitečné, pokud se rozhodnete používat Postgres pro svůj obchod s událostmi a chcete mít možnost skutečně vidět obsah událostí. Tento příspěvek na blogu například uvádí, jak se s tím vypořádat. A co je důležitější, tento blog příspěvek ukazuje, jak byste mohli například upravit používaný dialekt. Možná by vám to mohlo posloužit v řešeních 2 a 3?

Možnost 4 by v tomto případě měla být nejlogičtějším řešením. Ale z vaší odpovědi usuzuji, že vám to v tuto chvíli nefungovalo. Při česání Axon s Springem, SpringAxonAutoConfigurer (ze kterého odkazujete na registerAggregateBeanDefinitions metoda od věřím) automaticky zkontroluje konfigurovatelné fazole na vašem Agregátu. Činí tak na základě polí definovaných v @Aggregate (tj. anotace stereotypu Axon's Spring). Konkrétněji můžete použít repository pole v @Aggregate k definování názvu beanu úložiště, které chcete použít.

Měli byste tedy být schopni poskytnout GenericJpaRepository bean s požadovaným identifierConverter . Název tohoto beanu pak může být specifikován v @Aggregate anotace na vašem MyAggregate , aby to automatická konfigurace Axonu mohla správně vybrat. Doufám, že vám to pomůže!




  1. Predikátový řád je důležitý v rozšířených událostech

  2. obrázky jsou nahrané, ale nevidím je

  3. Použití velkých parametrů pro uloženou proceduru Microsoft SQL s DAO

  4. Jak mohu spustit nativní skript SQL v JPA/Hibernate?