我的项目中有注解驱动的 hibernate 功能。
现在我想在列上创建索引。我当前的列定义是
@NotNull
@Column(name = "hash")
private String hash;
然后我在此处添加了 @Index
注释。
@NotNull
@Column(name = "hash")
@Index(name="hashIndex")
private String hash;
然后 DROP TABLE 并重新启动 Tomcat 服务器。服务器实例化后,表已创建,但我在以下查询中看不到新索引。
SHOW INDEX FROM tableName
希望用新的索引建表。我正在将 InnoDB 与 MySQL 结合使用。
最佳答案
有趣的是,在我的 Hibernate 配置中,我使用的是 hibernate.hbm2ddl.auto=update
。
这个修改现有的数据库。我正在手动删除表 tableName
并重新启动 Tomcat,表已构建但未创建索引。
但是,我制作了 hibernate.hbm2ddl.auto=create
,它在每次 webapp 实例化时重新创建数据库,它删除了我所有的数据库并重建回来 - 哎呀 - 我的新索引已经已创建!
关于java - 使用 Hibernate @Index 注释在数据库上创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3533301/