У меня есть небольшая схема, состоящая из ~ 10 классов, сопоставленных jpa2 с hibernate в качестве провайдера. Все классы создаются одинаковым базовым способом (@Entity
аннотация для класса, id с @Id
и @GeneratedValue
). Все классы имеют конструкторы по умолчанию и методы получения / установки по умолчанию.
Все классы, кроме одного, связаны друг с другом (через ассоциации или наследование). И этот один класс не получает таблицу базы данных, созданную в базе данных во время процесса генерации схемы.
Я пробовал следующие настройки с hbm2ddl.auto
:
create : Все таблицы, кроме одной, созданы. Когда к объекту обращаются в первый раз, генерируется исключение: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table '...' doesn't exist
(или эквивалент оракула, если код запускается в БД Oracle).
validate : hibernate жалуется на отсутствующую таблицу во время проверки схемы.
update : таблица не создается, и при первом обращении к объекту этого класса создается исключение (например, с create).
У кого-нибудь есть идеи по этому поводу?