【发布时间】:2014-08-08 16:30:51
【问题描述】:
例如,我有两个实体:企业、部门。企业有很多部门,部门有一个企业,所以Department表中有一个列——Enterprise_ID。 我有一个保存部门对象的功能
void save(Department department);
要在表中添加 Enterprise_ID,我需要引用 Enterprise 对象或企业 ID。
哪种方式更合适?
但是我更喜欢在部门对象中没有这样的信息,但是这样我如何将 Enterprise_ID 保存在表中?在我看来,Hibernate 以某种方式做到了。
public class Department{
private long id;
private String name;
private DepartmentType type;
private List<Employee> employees;
//getters()/setters()
}
public class Enterprise{
...
private List<Department> departments;
...
}
部门没有任何关于其所在企业的信息。因此,仅使用部门对象我无法在部门表中插入 Enterprise_ID(FK)。但是休眠的保存方法以某种方式做到了。如果不使用上面的实体休眠,我怎么能做到这一点;
我使用 JDBC。
【问题讨论】:
-
如果部门总是企业的一部分,那么部门类没有嵌套在企业中是有原因的吗?然后您可以访问其 ID(如果您将保存方法设为 Department 的成员)。
-
这真的取决于。关系会改变吗?如果没有,那么您只需要 EnterpriseId 进行插入,而不需要更新。
-
我编辑了一些东西。