我有一个Employee和Department类的一对一映射。我在域中有Bean类。我有一个前端JSP,它是一个Employee表单。此表单有一个下拉框,其中列出了所有可用的部门。
现在我需要使用hibernate对员工进行插入操作。
<form:form action="add" method="post" modelAttribute="user">
<div>
<form:label path="emailAddress">Email</form:label>
<form:input path="emailAddress" />
</div>
<div>
<form:label path="deptartment">Department</form:label>
<form:select path="department">
<form:options items="${departmentList}" />
</form:select>
</div>
</form:form>
控制器方法:
@RequestMapping(value = "add", method = RequestMethod.POST)
public String getAddEmployeeSettingsPage(@ModelAttribute("employee") Employee employee,
BindingResult result) {
System.out.println(employee);
return "empsettings";
}
现在,员工对象没有引用部门。我该怎么做才能获取控制器中的员工对象以及相关的部门参考。希望我很清楚。提前谢谢。
答案 0 :(得分:2)
将DAO注入控制器,从部门获取控制器以与DAO中的员工关联,并保留员工。
理想情况下,您可能希望将所有这些逻辑包装到服务方法中,因此该服务只需要一名员工,并将其与相应的部门一起保留。此外,关系不是多对一,许多员工属于一个部门。否则,你有员工鲍勃属于部门鲍勃,员工苏属于部门苏等,
答案 1 :(得分:0)
我找到了无需注射的溶液:
<div>
<form:label path="department.departmentId">Department</form:label>
<form:select path="department.departmentId">
<form:options items="${departmentList}" itemValue="departmentId" itemLabel="departmentName"/>
</form:select>
</div>
只关联组合框中的部门.. :))