@Entity
public class FruitStore {
@Id
private Long storeId;
@ElementCollection
private Set<Fruit> fruits;
}
もちろん、Fruit
クラスはマークされてい@Embeddable
ます。
データベース (正確には postgresql ですが、重要ではありません) には、 という名前のテーブルが作成されていfruitstore_fruits
ます。それは巨大になり、それに対するクエリは非常に遅くなります。テーブルが列fruitstore_fruits
にインデックスを付けるように、データベースを手動で変更しました。FruitStore
id
幸いなことに、これによりパフォーマンスが劇的に向上します。これを自動で行いたい。
FruitStore
id
問題は、コードに注釈を付けて、Hibernate に列の fruitstore_fruits を自動的にインデックスさせるにはどうすればよいかということです。
編集: この Hibernate バグにより、多くの希望が取り除かれました。私が望むものは、現在サポートされていないと思います。機能がそれほどエキゾチックではないため、これはちょっと悲しいことです (要素コレクションを外部列でインデックス化する)。ただし、ここで間違っていることを証明したいと思います。