Отвечая на свой вопрос ...
Как я смоделировал ссылку, я использую строку, потому что FK указывает на столбец iso_code в таблице стран, которая является CHAR (2), так что в основном мое отображение верно. Однако проблема в том, что JPA 2.0 не допускает ничего, кроме ссылок на столбцы первичного ключа . Это то, что показывает валидатор Eclipse Dali JPA.
Взято из «Pro JPA 2.0» Кейта / Шинкариола, с.283, «Основные правила для производных идентификаторов» (правило № 6): «Если атрибут id в сущности является отношением, то тип соответствующего Атрибут в классе id имеет тот же тип, что и тип первичного ключа целевой сущности в отношении (независимо от того, является ли тип первичного ключа простым типом, классом id или встроенным классом id). "
Личное приложение:
Я не согласен с JPA 2.0, имеющим это ограничение. Отображения JPA 1.0 позволяют ссылаться на столбцы не-PK. Обратите внимание, что вместо этого я использую сопоставления JPA 1.0. Я бы скорее интересовался причиной, по которой это ограничение было наложено на JPA 2.0. JPA 2.0 определенно ограничивает.