Что делает атрибут 'length' в файле отображения hibernate? - PullRequest
2 голосов
/ 23 августа 2010

Я прочитал, что атрибут 'length' в файле отображения hibernate для столбца таблицы является необязательным.Обрезает ли он данные при вставке в базу данных, если длина превышает длину столбца?Спасибо Найн

Ответы [ 2 ]

5 голосов
/ 23 августа 2010

Атрибут length используется инструментом генерации DDL для генерации скрипта с соответствующим размером столбцов.Это все.

Так что нет, Hibernate не усекает данные, он просто попытается записать то, что вы ему скажете, и операторы вставки или обновления потерпят неудачу, если данные длиннее, чем могут поместиться в данном столбце.

4 голосов
/ 13 апреля 2013

20,1.Автоматическое создание схемы

DDL может быть сгенерировано из ваших файлов сопоставления утилитой Hibernate.Сгенерированная схема включает ограничения ссылочной целостности, первичные и внешние ключи для таблиц сущностей и коллекций.Таблицы и последовательности также создаются для генераторов сопоставленных идентификаторов.

При использовании этого инструмента необходимо указать диалект SQL через свойство hibernate.dialect, поскольку DDL сильно зависит от поставщика.Вы должны настроить файлы сопоставления для улучшения сгенерированной схемы.Следующий раздел посвящен настройке схемы.

20.1.1.Настройка схемы

Многие элементы отображения Hibernate определяют необязательные атрибуты, называемые длина, точность и масштаб.С помощью этого атрибута вы можете установить длину, точность и масштаб столбца.

<property name="zip" length="5"/>
<property name="balance" precision="12" scale="2"/>

из: http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/toolsetguide.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...