我有一个数据模型,我需要一个String
列来由后备数据库建立索引:
@Entity
public class A {
// ...
@Column(length=2048)
@Index(name="strFieldIndex")
private String strField;
}
添加
length
的@Column(length=2048)
属性(hibernate不再为其生成varchar)时,在MySQL
上显示以下错误消息:ERROR org.hibernate.tool.hbm2ddl.SchemaExport -
BLOB/TEXT column 'strField' used in key specification without a key length
我已经扫描了API文档以进行休眠,但是找不到设置密钥长度的方法。
最佳答案
我认为您必须根据MySQL的要求手动声明此索引,因为Hibernate无法处理所有特定于DBMS的要求。例如,使用<database-object>
syntax。