Как использовать первичный ключ, определенный в одном классе @Entity в другом классе @Entity в отношении @OneToOne в hibernate
До сих пор у меня есть это ... Я не хочу использовать @Id в phoneNumber класса Phone. Как это сделать? И обязательны ли аннотации @JoinColumn и @MapsId (что именно они делают)? Спасибо всем.
@Entity
public class User {
@Id
private int id;
private String name;
@OneToOne
private Phone phone;
...
}
@Entity
public class Phone {
private int phoneNumber;
@OneToOne
@JoinColumn(name="id")
@MapsId
private User user;
...
}
Отредактировано: при сопоставлении с таблицами я хочу, чтобы в таблице Phone
был столбец, являющийся для нее первичным ключом, и значение которого совпадает со значением первичного ключа таблицы User
.