我正在一个项目中,我有一个父实体和多个子实体 例如:`
父实体->雇员和子实体-> EmployeeAddress, EmployeeContact等。
我的问题是用单一保存方法保存这种关系的行业标准是什么?因为我希望employee-id
出现在所有子实体中。
休眠状态是否可以为这些情况提供任何解决方案,还是我们必须在创建父实体之后手动设置外键,然后保存子实体。
谢谢。
答案 0 :(得分:1)
Hibernate
具有OneToMany
批注,用于保存和选择父类。让我们创建如下关系:
@Entity
public class Employee{
@Id
private int id;
private String fullName;
private double salary;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "employee_id")
private List<Contact> contacts;
}
@Entity
public class Contact{
@Id
private int id;
private String phoneNumber;
private String address;
}
保存方法:
public void save(){
Employee employee = new Employee();
employee.setFullName("John Smith");
employee.setSalaru(5000);
Contact contact1 = new Contact("+19874561232","Wall Street 10");
Contact contact2 = new Contact("+11234561232","Green Street 10");
List<Contact> contacts = new ArrayList();
contacts.add(contact1);
contacts.add(contact2);
employee.setContacts(contacts);
session.save(employee);
}