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
我有一个带有枚举集合的实体 (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