2013-04-18 41 views
1

我有Employee和Department类的一对一映射。我在域中有Bean类。我有一个前端JSP,它是一个Employee窗体。该表格有一个下拉框,其中列出了所有可用的部门。One-One ORM并插入数据库

现在我需要使用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

酷..有在这里: http://stackoverflow.com/questions/12425154/java-springmvc-get-parameter-in-the-controller – Srikrishnan

回答

0

我发现SOLN,而不需要注入:

<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> 

在部门只是关联组合框.. :)

2

将DAO注入到控制器中,让控制器从部门获取与DAO中的员工关联,并坚持员工。

理想情况下,您可能希望将所有这些逻辑都包含到服务方法中,以便服务只需要一名员工,并将其保留在相应的部门中。另外,不会有关系是多对一的,许多员工属于一个部门。否则,你就会有员工鲍勃谁属于Department鲍勃,员工休属于Department苏等