Прежде всего, вы не можете установить отношения как Первичный ключ.Вместо этого вы можете сделать внешний ключ первичным ключом, если и только если отношения между двумя таблицами взаимно однозначны.
Здесь, в вашем случае, так как это один к одному, мыхорошо пойти.
Но вместо того, чтобы аннотировать Origin с помощью @Id.Аннотируйте внешний ключ с помощью @Id и используйте @MapsId, пока вы определяете отношение.
См. Пример кода ниже, где сведения о человеке и личности имеют отношение один к одному.
Сведения о человекесущность выглядит следующим образом:
@Entity
@Table(name = "person_details")
public class PersonDetails {
@Id
@Column(name = "person_details_Id")
private Long personId;
@Column(name = "person_name")
private String personName;
@OneToOne
@JoinColumn(name = "person_Id")
@MapsId
private Person person;
...
}
сущность лица выглядит следующим образом:
@Entity
@Table(name = "person")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "person_seq")
@Column(name = "person_id")
private Long personId;
@Column(name = "person_profsn")
private String personProfession;
@OneToOne(mappedBy = "person")
private PersonDetails personDetails;
...
}