Eclipselink,枚举集合的索引?

Eclipselink, index on enumerated collection?

我有一个带有枚举集合的实体 (FitableEntity),我想在枚举字符串上设置索引。这没有效果(没有错误,没有索引):

@Enumerated(EnumType.STRING)
@ElementCollection
@Updateable
@Index(table="fitableentity_state", columnNames={"state"})
private Set<FitableEntityState> state = numSet.of(FitableEntityState.Inactive);

我没有像我期望的那样在 table fitableentity_state 中获得 index 状态。

有没有办法通过注释来做到这一点,或者迁移是唯一的选择吗?

谢谢。

为了将来参考,这是一个解决方案:

   @CollectionTable(indexes={@Index(columnList="state")})
   @Enumerated(EnumType.STRING)
   @ElementCollection(targetClass = FitableEntityState.class)
   @Updateable
   private Set<FitableEntityState> state = EnumSet.of(FitableEntityState.Inactive);

ElementCollection 可以重构为 CollectionTable 但对于 Eclipselink 2.6 这与

配合得很好
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" />

在persistence.xml