Hibernate:为ElementCollection表创建索引

时间:2013-11-14 16:18:30

标签: java hibernate hibernate-postgresql

@Entity
public class FruitStore {

@Id
private Long storeId;

@ElementCollection
private Set<Fruit> fruits;

}

当然,Fruit类标记为@Embeddable

在数据库中(确切地说是postgresql,虽然它无关紧要),但是创建了一个名为fruitstore_fruits的表。它变得越来越大,对它的查询变得非常缓慢。我手动修改了数据库,以便fruitstore_fruits FruitStore列上的id表索引。令人高兴的是,这大大提高了性能。我希望这是自动完成的。

问题是,我如何注释我的代码以使Hibernate自动索引FruitStore id列上的fruitstore_fruits?

编辑: This Hibernate bug已经消除了很多希望。我认为我想要的东西现在根本得不到支持。这有点难过,因为该功能不是那种奇特(用外来列索引元素集合)。但是,我在这里被证明是错误的。

1 个答案:

答案 0 :(得分:1)

看看如何完成此操作的示例:

@CollectionTable(indexes = {@Index(columnList =“ solution_version_training_session_id”)})