Начиная с Hibernate ORM 4.3.0.Final Release, hibernate является сертифицированной реализацией спецификации JPA 2.1 ( ссылка ).
Когда речь идет о реализации двунаправленных отношений OneToOne, в спецификации JPA говорится, что FK должен иметь ограничение уникального ключа. (2.10.1 Двунаправленные отношения OneToOne)
К сожалению, hibernate не создает уникальный ключ в столбце внешнего ключа (описанная проблема здесь )
Вопрос : Как возможно, что hibernate является сертифицированной реализацией спецификации JPA 2.1, тогда как некоторые вещи реализованы так, что нарушают спецификацию? Например, упомянутые выше двунаправленные отношения OneToOne.