使用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