私のCassandraキースペースには、次のように、メインのオファーテーブルと、同じテーブルのさらに3つのコピーがあり、異なるクエリ引数を対象としています。
offer (primary key offer_id) (... some attributes)
offer_by_product (primary key product_id, offer_id) (... some attributes)
offer_by_seller (primary key seller_id, offer_id) (... some attributes)
offer_by_sku (primary key sku_id, offer_id) (... some attributes)
すべての列はまったく同じで、パーティション キーとクラスタリング キーのみが変更されていますが、Scala+Phantom を使用して 4 つのテーブルすべてに CRUD 操作を実装するには、多くのコードを複製する必要があります。
CRUD 操作のコードの重複や重複の少ない適切な実践なしに、Scala+Phantom を使用してリポジトリを実装する方法はありますか?