1

我有一个数据模型,我需要一个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 文档,但找不到设置密钥长度的方法。

4

1 回答 1

2

我认为您必须根据 MySQL 的要求手动声明此索引,因为 Hibernate 无法处理所有特定于 DBMS 的要求。例如,使用<database-object>语法

于 2011-03-08T11:10:48.403 回答