我有一个数据模型,我需要一个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

09-11 19:59
查看更多