У меня есть вопрос относительно отображения сущностей на основе сопоставления в их таблицах.Итак, мы команда из пяти человек, работающая над проектом, один из наших товарищей по команде, кажется, добавляет сопоставление между таблицами в противоположном направлении, я приведу примеры обоих, чтобы вы поняли, что я имею в виду.
Мыесть две таблицы User и UserInfo.UserInfo имеет user_id в качестве внешнего ключа.
1) Общее сопоставление, о котором я узнал в hibernate.
В сущностях User и UserInfo у меня обычно отображаются такие сопоставления:
class User{
private int userId;
private String userName;
// getter and setters
}
class UserInfo{
private int userInfoId;
private String firstName;
private String lastName;
@OneToOne()
@JoinColumn(name="user_id")
private User user;
}
2) Вот как мой коллега делает картографию:
class User{
private int userId;
private String userName;
@OneToOne(mappedBy="user")
@JoinColumn(name="user_id")
private UserInfo userInfo;
// getter and setters
}
class UserInfo{
private int userInfoId;
private String firstName;
private String lastName;
@OneToOne()
private User user;
}
Он делает прямо противоположное тому, что я узнал из уроков.Как-то работает нормально, но я не уверен, что это правильный способ сопоставить две сущности.Пожалуйста, помогите.
Спасибо.