в этом вся и проблема. для легаси кода нужен id в сущности. поэтому и по нему @Id. а в новых сущностях я делаю по country code. и чтобы добавлять новые сущности, приходится лезть в таблицу стран и получать их сущности вместе с id. и указывать так.
выбирайте что-то одно либо ManyToOne и сохранять с сущностью и потом чтение ее будет автоматическим либо просто Column и запись без сущности а просто строка, но читать придется руками