Hibernate Annotations (Spring), установка значения по умолчанию при добавлении нового логического столбца, ошибка? - PullRequest
2 голосов
/ 27 апреля 2011

Я пытаюсь добавить новый столбец в существующую таблицу базы данных. Это для логического, и я пытаюсь, как показано ниже, но получаю ошибку:

Невозможно установить логическое поле org.jadefalcon.demo.domain.Users.permissionconceptsearchtab в нулевое значение

что я пытаюсь (я нашел информацию об этом из поиска, но кажется, что я делаю это неправильно)

@Column(name = "permissionconceptsearchtab",nullable=false,
columnDefinition="boolean default false")
private boolean permissionconceptsearchtab;

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

1 Ответ

2 голосов
/ 27 апреля 2011

Я не совсем уверен, что это имеет отношение к Hibernate - используете ли вы такой инструмент, как hbm2ddl для автоматической генерации операторов SQL для создания таблицы?

Просто добавьте столбец в таблицу с помощьюоператор ALTER TABLE ADD COLUMN ..., устанавливающий значение DEFAULT false в вашем SQL.

Исключение, которое вы получаете от Hibernate, заключается в том, что примитивный тип, такой как boolean, никогда не может быть null, только true илиfalse.Однако Boolean может быть null, Boolean.TRUE или Boolean.FALSE.

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