Hibernate5 - изменить все VARCHAR (255) на TEXT без отображения поля за полем?

Возможно ли, чтобы Hibernate5 сопоставил все String с TEXT; без аннотирования или сопоставления каждого поля по отдельности?

ОБНОВИТЬ

Я проводил некоторые исследования по этому поводу и очень близко подобрался, но до сих пор не нашел очевидного пути к решению.

Подсказка №1введите здесь описание изображения из https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html

Ссылка ведет на https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#basic-custom-type, который является еще одной кроличьей норой


person Alex R    schedule 03.09.2017    source источник


Ответы (1)


В спящем режиме вы можете игнорировать аннотацию для каждого поля, если имя поля и столбец совпадают. Например: База данных: USER_NAME -> Имя поля: user_name;

Чтобы сопоставить тип VARCHAR со строкой, вы можете создать собственный диалект. Например, если вы используете MySQL, вы можете создать класс, расширяющий MySQLDialect, и создать тип данных сопоставления.

public class CustomMySQLDialect extends MySQLDialect  {
    public MySQLDialectDataType() {
        registerHibernateType(Types.NVARCHAR, 255, "string");
        registerHibernateType(Types.BIGINT, "long");
    }
}
person Giang Phan    schedule 04.09.2017