1

我有 Employee 和 Department 类的一对一映射。我在域中有 Bean 类。我有一个前端 JSP,它是一个员工表单。此表格有一个下拉框,列出了所有可用的部门。

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

现在,员工对象没有对部门的引用。我应该怎么做才能在控制器中获取员工对象以及相关的部门参考。希望我清楚。提前致谢。

4

2 回答 2

2

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

理想情况下,您可能希望将所有这些逻辑包装到一个服务方法中,因此该服务将只接收一名员工,并将其保存在适当的部门中。另外,关系不是多对一的,许多员工属于一个部门。否则,您将拥有属于 Bob 部门的员工 Bob,员工 Sue 属于 Sue 部门,等等。

于 2013-04-18T14:40:50.407 回答
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>

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

于 2013-04-19T05:38:52.377 回答