Hibernate hbm2ddl не создает внешние ключи на SQLServer 2008

Я пытаюсь сгенерировать внешние ключи через hibernate hbm2ddl с помощью:

   hibernate.hbm2ddl.auto=update

И используя следующее сопоставление:

   @OneToOne
   @ForeignKey(name="FK_address_nationality_id")
   private Nationality country;

Он создает таблицу со столбцом страны, но внешний ключ не создается. Почему это может быть?


person enkor    schedule 01.11.2012    source источник
comment
попробуйте установить hibernate.hbm2ddl.auto=create один раз для создания FK, затем переключитесь обратно в режим обновления   -  person user1516873    schedule 01.11.2012
comment
Я думаю, что это связано с другой моей проблемой, это создание столбца национальности как varbinary...   -  person enkor    schedule 02.11.2012
comment
Добавили еще один вопрос относительно типа столбца, stackoverflow.com/questions/13192469/   -  person enkor    schedule 02.11.2012


Ответы (1)


Убедитесь, что вы используете тип доступа к полю при использовании аннотаций определения поля, а не свойств.

@Entity
@Table
@AccessType("field")

Особенно, если вы подклассифицируете класс, который использует средства доступа к свойствам.

person enkor    schedule 02.11.2012