sql >> データベース >  >> RDS >> PostgreSQL

Axon Aggregate Identifier Type Converter

    正直なところ、あなたはここ@Zonの問題についてかなり深く掘り下げました。私があなたを十分に助けることができるかどうかはわかりませんが、それでもやってみます。

    リサーチポイント1は、物事を今すぐ機能させるための最も実用的なソリューションであることは明らかです。 Stringの「非効率性」に気付く場合 UUIDと比較して 大変なことです。したがって、これが絶対にノーノーである場合は、調査を続行する必要があります。そうでなければ、もちろん仕事は終わります。

    研究ポイント2と3に関しては、PostgreSQLで使用されている方言に問題が発生していると思いますが、ここでは100%確実ではありません。特にPostgreSQLはいくつかの「素晴らしい」タイプを振り回しますが、これらはすべてのシナリオで常に自動的に機能するとは限りません。ここでは、PostgreSQLにBYTEAを使用させることに基づいて「推測」を行っています。 OIDの代わりに PostgresのTOAST を停止する必要がある場合に備えて 容量。これは、イベントストアにPostgresを使用することを選択し、実際にイベントの内容を確認できるようにしたい場合に特に便利です。たとえば、このブログ投稿では、これに対処する方法を指定しています。さらに重要なことに、このブログ 投稿は、たとえば使用されている方言を調整する方法を示しています。たぶんそれはソリューション2と3であなたに役立つかもしれませんか?

    この場合、オプション4が最も論理的な解決策になるはずです。しかし、私はあなたの応答から、あなたが現時点でそれを機能させることができなかったということを収集します。 AxonをSpringと組み合わせる場合、SpringAxonAutoConfigurer (ここからregisterAggregateBeanDefinitionsを参照しています 私が信じている方法)は、Aggregateで構成可能なBeanを自動的にチェックします。これは、@Aggregateで定義されたフィールドに基づいて行われます。 (つまり、AxonのSpringステレオタイプアノテーション)。具体的には、repositoryを使用できます @Aggregateのフィールド 使用するリポジトリのBean名を定義します。

    したがって、GenericJpaRepositoryを提供するだけで済みます。 目的のidentifierConverterを持つBean 。そのBeanの名前は、@Aggregateで指定できます。 MyAggregateの注釈 、Axonの自動設定が正しくそれを取得できるようにします。これがお役に立てば幸いです!




    1. いずれかの列からユーザーIDを取得する単一行のフレンドシップデータベーススキーマ

    2. Djangoの移行を深く掘り下げる

    3. RETURNING句を使用した変数値の割り当て

    4. Oracle Regexpは、\ n、\ r、および\tをスペースに置き換えます