我的应用程序中有一种情况,类似于下面的情况。
Entity1 : Employee
Entity2: Employer.
以上实体都有一对多的关系。一个雇主有很多雇员。我准备了一个弹簧mvc表格。在该表格中,我检索了雇主ID和姓名并加载到<select>
标签。
现在,如果我将员工姓名放在文本字段中。并在下拉列表中选择一个雇主。
如果我点击提交,spring mvc将提供员工姓名和雇主ID。
现在,要将员工存储到数据库中,我是否使用从表单中获取的ID再次检索雇主对象?
答案 0 :(得分:0)
是的,您需要提及雇主,以便为新员工设定雇主。
使用em.find()
从数据库中获取它并确保它存在:它将执行SQL查询以通过其ID查找雇主。
或者使用em.getReference()
在雇主上获取延迟加载的代理,而不执行任何查询,假设它存在于数据库中。如果雇主没有实际存在(例如,如果您有外键约束条件,那么当插入雇员时,这当然会失败,例外情况。如果您不这样做:您的雇员将转介给不存在的雇主)