gpt4 book ai didi

java - JPA - 更新 OneToMany-Relations 中的对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:28:28 25 4
gpt4 key购买 nike

好吧,我有点困惑,因为我找不到任何解决我的问题的方法(可能是某种停电)

假设我有以下(简化的)实体:

@Entity
public class Employee {
@Id
private long id;
@OneToMany(mappedBy="owner")
private Collection<Phone> phones;
}

@Entity
public class Phone {
@Id
private long id;
@ManyToOne
private Employee owner;
}

我有一个由 JPA 管理的 phone 对象。现在我想用类似的东西更改那个 phone 对象的 Employee:

phone.setEmployee(otherEmployee);

我以为 JPA 会更新相应的 Employee 也会更新。我错了吗?我尝试了注释 @ManyToOne 和 @OneToMany (cascade = CascadeType.ALL, orphanRemoval = true) 但它不起作用。

我必须自己更新 Employee 对象吗?不幸的是,我没有在任何教程或其他示例中找到这种情况,所以我希望你能告诉我更多,我很困惑。提前致谢。

编辑使其更清晰:

Phone phone = new Phone();
Employee employee = new Employee();
phone.setEmployee(employee);
em.persist(employee);
em.persist(phone);

employee.getPhones(); //the phone object should be included here.

最佳答案

link是你问题的答案,你应该自己处理关系,我。即:

class Phone {
...
void setEmployee(Employee employee) {
owner = employee;
employee.addPhone(phone);
}
...
}

关于java - JPA - 更新 OneToMany-Relations 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com