sql >> Base de Datos >  >> RDS >> PostgreSQL

Convertidor de tipo de identificador agregado de axón

Honestamente, has profundizado mucho en el asunto @Zon. No estoy seguro de si puedo ayudarte lo suficiente, pero lo intentaré de todos modos.

El punto de investigación 1 es obviamente la solución más pragmática para hacer que las cosas funcionen ahora mismo. Si vas a notar la "ineficacia" de String comparado con UUID es algo por lo que estaría en apuros. Entonces, si esto es un no absoluto, se debe continuar con la investigación. De lo contrario, hace el trabajo, por supuesto.

Cuando se trata de investigar los puntos 2 y 3, creo que tiene un problema con el dialecto que se usa para PostgreSQL, aunque no estoy 100% seguro aquí. Especialmente PostgreSQL muestra un par de tipos "increíbles", pero estos no siempre funcionan automáticamente en todos los escenarios. Estoy basando mis "conjeturas" aquí en obligar a PostgreSQL a usar BYTEA en lugar de OID en caso de que quiera, debe bajar TOAST de Postgres capacidad. Esto se vuelve especialmente útil si opta por usar Postgres para su tienda de eventos y desea poder ver realmente el contenido de los eventos. Esta publicación de blog, por ejemplo, especifica cómo lidiar con esto. Más importante aún, este blog La publicación muestra cómo podría, por ejemplo, ajustar el dialecto que se está utilizando. ¿Quizás eso podría servirte en las soluciones 2 y 3?

En este caso, la opción 4 debería ser la solución más lógica. Pero deduzco de su respuesta que no consiguió que funcionara en este momento. Al combinar Axon con Spring, el SpringAxonAutoConfigurer (desde donde se refiere a registerAggregateBeanDefinitions método de Creo) comprobará automáticamente si hay beans configurables en su Agregado. Lo hace en función de los campos definidos en el @Aggregate (es decir, la anotación del estereotipo Spring de Axon). Más específicamente, puedes usar el repository campo en @Aggregate para definir el nombre del bean del repositorio que desea utilizar.

Por lo tanto, simplemente debería poder proporcionar un GenericJpaRepository bean con el identifierConverter deseado . El nombre de ese bean puede especificarse en @Aggregate anotación en su MyAggregate , para que la configuración automática de Axon pueda detectarlo correctamente. ¡Espero que esto te ayude!