Отображение типов данных в спящем режиме

У меня есть сценарий, в котором столбец базы данных относится к mediumtext типу данных. Мой объект имеет следующий интерфейс:

@Lob
@Column(name = "data", length = 16777215)
public String getData() { return this.data;
}

Тем не менее, когда я развертываю на свой сервер, я получаю эту ошибку:

HibernateException: Wrong column type in dme42_apns.appboxdatastore for column data.
Found: mediumtext, expected: longtext

Я попытался сделать свой собственный MySQLDialect со следующим кодом, который не помогает:

@Override
protected void registerVarcharTypes() { super.registerVarcharTypes(); registerColumnType(Types.VARCHAR, 16777215, "mediumtext"); registerColumnType(Types.VARCHAR, 65535, "text");
}

У кого-нибудь есть идея, почему гибернатные карты похожи на это?

1 ответ

Вы можете дать Hibernate подсказку о типе данных:

@Column(name = "data", length = 16777215, columnDefinition = "mediumtext")

licensed under cc by-sa 3.0 with attribution.