Я недавно обновил Hibernate с версии 3.3.x до 3.6.4. В версии 3.3.x validateSchema (hibernate.hbm2ddl.auto = validate) работает правильно.
В версии 3.6.x проверка нарушена (также проверена на 3.6.4 и 3.6.7). Проблема актуальна только для текста типа поля.
Я переопределил тип SQL в моем диалекте, например
public class SQLServer2000UnicodeDialect extends SQLServerDialect {
public SQLServer2000UnicodeDialect(){
super();
// Use Unicode Characters
...
registerColumnType( Types.CLOB, "ntext" );
...
}
}
Но во время валидации hibernate использует оригинальные типы SQL вместо настроенных!
Неправильный тип столбца в db.dbo.table_name для столбца a_column. Найденный:
текст, ожидаемый: текст
Это похоже на ошибку, но не уверен, что это так. Может я что-то упустил в конфигурации?
P.S. hibernate.hbm2ddl.auto = создать / обновить также не работает правильно!
P.P.S. Моя конфигурация сопоставления XML:
<property name="propName" type="text" column="a_column"/>