Long fk = entity1.getEntity2().getId();
Это должно работать. Это не сработает, только если у вас есть составные первичные ключи, на которые ссылаются как на внешние ключи, но ваше решение также не сработает в этом случае. Учитывая мое решение, даже составной ключ не будет выглядеть так безобразно.
Long fkField1 = entity1.getEntity2().getCol1();
String fkField2 = entity1.getEntity2().getCol2();
Нечто подобное будет работать.
EDIT:
Если больше думать о предложенном решении, оно все равно не сработает, поскольку Hibernate уже пытается автоматически создать поле FK для отношения Mapped, поэтому при определении другого @Column просто попытается выполнить привязку ко второму столбцу с тем же именем.