レコードが特定のオブジェクトを表すテーブルがあります。簡単にするために、テーブルには1つの列しかなく、それが一意であると想定しますObjectId
。次に、そのテーブルのオブジェクトの組み合わせを保存する方法が必要です。組み合わせは一意である必要がありますが、任意の長さにすることができます。たとえば、私ObjectId
が
1,2,3,4
次の組み合わせを保存したい:
{1,2}, {1,3,4}, {2,4}, {1,2,3,4}
注文は必要ありません。私の現在の実装は、 sをsにCombinations
マップするテーブルを持つことです。したがって、すべての組み合わせは一意のIDを受け取ります。ObjectId
CombinationId
ObjectId | CombinationId
------------------------
1 | 1
2 | 1
1 | 2
3 | 2
4 | 2
これは、上記の例の最初の2つの組み合わせのマッピングです。問題は、特定の組み合わせを見つけるためのクエリCombinationId
が非常に複雑に見えることです。このテーブルの2つの主な使用シナリオは、すべての組み合わせを反復処理し、特定の組み合わせを取得することです。テーブルは一度作成され、更新されることはありません。JDBCを介してSQLiteを使用しています。このようなマッピングを実装するためのより簡単な方法またはベストプラクティスはありますか?