@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 バグにより、多くの希望が取り除かれました。私が望むものは、現在サポートされていないと思います。機能がそれほどエキゾチックではないため、これはちょっと悲しいことです (要素コレクションを外部列でインデックス化する)。ただし、ここで間違っていることを証明したいと思います。