我有一个带有枚举集合的实体(.cpp
),我想在枚举字符串上设置索引。这没有效果(没有错误,没有索引):
FitableEntity
我没有像我期待的那样在@Enumerated(EnumType.STRING)
@ElementCollection
@Updateable
@Index(table="fitableentity_state", columnNames={"state"})
private Set<FitableEntityState> state = numSet.of(FitableEntityState.Inactive);
表中找到index
州。
有没有办法通过注释做到这一点,或者迁移是唯一的选择?
感谢。
答案 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中的