В моем приложении MVC/JPA Spring у меня есть объекты User и Department, определенные в отношении их таблиц базы данных. Как правило, многие пользователи могут принадлежать одному отделу, поэтому у меня есть следующий в моем User ClassСвязывание идентификаторов вложенных объектов весной JPA
@Entity(name = "USER")
public class User {
@Id
@Column(name = "Username")
private String username;
@ManyToOne
@JoinColumn(name = "Department")
private Department department;
}
Когда приходит время, чтобы сохранить новый пользователь, я должен связать пользователь с идентификатором отдела по
User
username | BobbySurfs2020
departmentId | 43
ли я нужно иметь дополнительное departmentId
поле, определенное на моем объекте пользователя только, чтобы сделать эту связь, или я могу каким-то образом использовать встроенный объект Департамент установить этот идентификатор через мой сеттер setDepartment()
?
Update/Дополнительная мысль:
Это даже необходимо иметь Department
вложенные в User
объекте, как я здесь? Я думаю, потребуется больше памяти для хранения Department
для каждого пользователя, которого я получаю, чем связать только Department
ID. Таким образом, если мне понадобилась информация отдела в любое время, я мог просто просто посмотреть их идентификатор, связанный с пользователем. Мысли?
Спасибо большое!
не просто добавить departmanId в таблице пользователей в БД после этого просто принести departman через имя, а затем установить departman на пользователя и сохранить его также изменить Joincolumn (departman) с joincolumn (offmanid) –
Спасибо @mithatkonuk. Я также думаю, что может потребоваться хранить «Департамент» вообще и использовать идентификатор вместо этого –
Thats из-за отношения orm, вы просто даете декамену, который хранится в db, и вы можете избежать сложного процесса, так или иначе вы также можете использовать id в пользовательский класс, чтобы установить и сохранить его, может быть также, но я предлагаю вам, чтобы этот способ был более крутым. –