Java Hibernate:为ElementCollection表创建索引 @实体 公营水果店{ @身份证 私有长存储ID; @元素集合 私藏水果; }

Java Hibernate:为ElementCollection表创建索引 @实体 公营水果店{ @身份证 私有长存储ID; @元素集合 私藏水果; },java,hibernate,hibernate-postgresql,Java,Hibernate,Hibernate Postgresql,当然,Fruit类被标记为@embeddeble 在数据库中(确切地说是postgresql,虽然这不重要),创建了一个名为fruitstore\u fruits的表。它变得巨大,对它的查询变得非常缓慢。我已经手动修改了数据库,使得furtostore\u fruits表索引位于furtostoreid列上。令人高兴的是,这大大提高了性能。我希望这是自动完成的 问题是,我如何注释我的代码,让Hibernate自动为水果店id列上的水果店建立索引 编辑:消除了许多希望。我想我想要的只是现在不被支持

当然,
Fruit
类被标记为
@embeddeble

在数据库中(确切地说是postgresql,虽然这不重要),创建了一个名为
fruitstore\u fruits
的表。它变得巨大,对它的查询变得非常缓慢。我已经手动修改了数据库,使得
furtostore\u fruits
表索引位于
furtostore
id
列上。令人高兴的是,这大大提高了性能。我希望这是自动完成的

问题是,我如何注释我的代码,让Hibernate自动为
水果店
id
列上的水果店建立索引


编辑:消除了许多希望。我想我想要的只是现在不被支持。这有点悲哀,因为该特性没有那么奇特(用外来列索引元素集合)。然而,我希望在这里被证明是错误的。

看看如何做到这一点:


@CollectionTable(索引={@Index(columnList=“solution\u version\u training\u session\u id”)}

您是否尝试过使用Hibernate列索引?grokbase的这篇文章似乎表明,创建一个单独的列索引可能是一个可行的解决方案:正如讨论中指出的,没有Hibernate列索引这样的东西。相反,可以使用Hibernate在表中的特定列上创建索引。
@Entity
public class FruitStore {

@Id
private Long storeId;

@ElementCollection
private Set<Fruit> fruits;

}