У меня есть объект person и компьютерный объект,
этот объект персонажа имеет поле с именем компьютера,
один человек может иметь один компьютер, отношение один к одному.
class Person{
@OneToOne(cascade=CascadeType.ALL)//in which situations this is true?
@JoinColumn(name = "computer_id",nullable=false)
private Computer computer;
getComputer(){...}
setComputer(Computer c){...}
@Id
private String id;
}
class Computer{
@Id
private String id;
}
Позвольте мне предположить, что у меня есть компьютерный объект в БД, и я получаю его методом загрузки.
Computer computer=entityManager.loadById({an id});
Person p=new Person();
p.setComputer(computer);
Теперь, если я хочу сохранить компьютер и человека, что мне делать?
entityManager.persist(p);
Я не могу сгенерировать ту же ошибку, но некоторое время назад я получил ошибку «отсоединенный объект передан для сохранения».
Каков наиболее подходящий способ сохранить все в БД без повторов?
Также вы можете посоветовать ресурсу (может быть, книгу), чтобы понять, что делать в разных ситуациях.