使Hibernate删除或更新旧索引

时间:2018-03-15 18:25:40

标签: mysql hibernate tomcat

我一直在我的一张桌子上试验不同的索引。我看来Hibernate只会添加一个索引,如果它尚未按名称存在。这可能是一个问题。如果您已应用索引,则在更改其使用的列时将不会替换它,如果您在代码中删除索引,它将保留在数据库中。

我的断言是否正确Hibernate如何处理索引?是否建议使用Hibernate管理索引?

示例情况:

我在桌子上有这些索引:

@Index(name = "evententry_comp2_idx", columnList = "document, objectId, project, documentType, action, objectType, eventDate"),
@Index(name = "evententry_comp3_idx", columnList = "objectId, documentType, action, objectType, eventDate")

但后来我改变了它们:

@Index(name = "evententry_comp2_idx", columnList = "objectId, documentType, action, objectType")

所以在代码中,evententry_comp2_idx删除了一些列,并且evententry_comp3_idx被完全删除了。但是,在此更改后重新启动tomcat后,两个索引保持不变。似乎必须在数据库中手动删除这些索引,并且如果要更改旧索引,则必须创建新索引。

谢谢!

0 个答案:

没有答案