Как использовать @Id одного @Entity в другом @Entity в отношении @OneToOne в Hibernate - PullRequest
0 голосов
/ 29 мая 2019

Как использовать первичный ключ, определенный в одном классе @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.

...