Нет. Дополнительные определения метода требуют экземпляра типа, который Вы расширяете. Его неудачник; я не уверен почему его необходимое...
Нашел ответ в блоге Tremend Tech . Вы должны написать свой собственный класс SQLServerDialect, он выглядит примерно так:
public class SQLServerNativeDialect extends SQLServerDialect {
public SQLServerNativeDialect() {
super();
registerColumnType(Types.VARCHAR, "nvarchar($l)");
registerColumnType(Types.CLOB, "nvarchar(max)");
}
public String getTypeName(int code, int length, int precision, int scale) throws HibernateException {
if(code != 2005) {
return super.getTypeName(code, length, precision, scale);
} else {
return "ntext";
}
}
}
Этот класс сопоставляет типы Hibernate с типами SQL, поэтому класс будет отображать тип данных SQL nvarchar (max) в Hibernate ] Тип данных CLOB .
Метод getTypeName используется для возврата «ntext», когда Hibernate запрашивает тип данных с кодом 2005 (который выглядит как тип данных nvarchar (max)) .
Наконец, вам нужно изменить диалект сохраняемости спящего режима на этот новый класс SQLServerDialect, который позволяет спящему режиму переводить типы данных в типы данных SQL.
Строки в Javascript уже передаются «по ссылке» - - вызов процедуры со строкой не предполагает копирования содержимого строки. Здесь есть две проблемы: