使用Hibernate @Index注释在数据库上创建索引

我的项目中有注释驱动的hibernate功能。

现在,我想在列上创建索引。我当前的列定义是

@NotNull

@Column(name = "hash")

private String hash;

我在@Index这里添加注释

@NotNull

@Column(name = "hash")

@Index(name="hashIndex")

private String hash;

然后删除表并重新启动Tomcat服务器。实例化服务器后,创建了表,但是在以下查询中看不到新索引。

SHOW INDEX FROM tableName

预期用新索引构造表。我在MySQL中使用InnoDB。

回答:

有趣的是,在Hibernate配置中,我正在使用hibernate.hbm2ddl.auto=update

这修改了一个现有的数据库。我是手动删除该表tableName并重新启动Tomcat,并且该表已构建但未创建索引。

但是,我制作了hibernate.hbm2ddl.auto=create一个在每次webapp实例时都重新创建数据库的程序,它删除了我的所有数据库并重新构建,并且-

是的,我的新索引已创建!

以上是 使用Hibernate @Index注释在数据库上创建索引 的全部内容, 来源链接: utcz.com/qa/430860.html

回到顶部