hsqldb не поддерживает атрибут columnDefinition для столбца - PullRequest
0 голосов
/ 17 февраля 2012

У меня уже был hsql db для тестирования, и я добавил к нему пару таблиц.

Я правильно обновил файлы .dtd и .xml, но не смог запустить junits, поскольку из dbunit выбрасывалось исключение NoSuchTableExceptionконтрольные примеры.

В классе DAO я добавил следующее свойство для таблицы преступников.

@Column(name = "keyword_id", columnDefinition = "int REFERENCES master_keyword(keyword_id)")

После удаления атрибута columnDefinition junit работал нормально.Я понимаю, что columnDefinition специфично для базы данных. Значит ли это, что мы не должны использовать его при запуске junits?

Я потратил много времени на это.Проблема решена, но есть мысли по этому поводу?

1 Ответ

1 голос
/ 17 февраля 2012

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

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

Похоже, вы хотите определить здесь ограничение внешнего ключа. Почему тогда вы не используете связь OneToOne или ManyToOne?

...