我使用hibernate JPA
hibernate版本是3.5.1-Final版本,hibernate-annotations版本也是3.5.1-Final版本
mysql版本是:5.5.35-0ubuntu0.12.04.2
我有一个专栏:
@Column(name = "TITLE", length = 300)
@Index(name = "I_PRODUCT_ITEM_TITLE")
public String getTitle() {
return title;
}但是创建索引,告诉我
ERROR o.h.tool.hbm2ddl.SchemaUpdate - Unsuccessful: create index I_PRODUCT_ITEM_TITLE on T_PRODUCT_ITEM (TITLE)
ERROR o.h.tool.hbm2ddl.SchemaUpdate - BLOB/TEXT column 'TITLE' used in key specification without a key length我不知道原因..。
发布于 2014-05-28 07:00:50
由于指定长度为300,所以Hibernate将列类型设置为TEXT。
在文本列上添加索引需要指定长度前缀,而且Hibernate似乎不能正确地添加索引。
如果你不需要300长度,而且你可以和255生活在一起,那么你就可以做到这一点。
否则,您可以选择使用增量更新脚本创建模式,这是生产系统的首选方法。
您应该创建一个Hibernate JIRA问题来描述这个问题。一些自2005年以来一直在抱怨。
发布于 2014-05-28 12:38:18
https://stackoverflow.com/questions/23904429
复制相似问题