Eclipselink,枚举集合的索引?

时间:2015-06-01 19:08:22

标签: jpa eclipselink

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

FitableEntity

我没有像我期待的那样在@Enumerated(EnumType.STRING) @ElementCollection @Updateable @Index(table="fitableentity_state", columnNames={"state"}) private Set<FitableEntityState> state = numSet.of(FitableEntityState.Inactive); 表中找到index州。

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

   @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中的