当前位置: 首页 > 知识库问答 >
问题:

将Spring表单元素映射到Hibernate实体中的@manytone元素

徐奇逸
2023-03-14

我正在使用Spring Hibernate开发员工管理应用程序。我有两个实体,员工和部门。并且,员工实体有一个字段“部门”,该字段映射到部门实体,即@manytone。

@ManyToOne(cascade = {CascadeType.PERSIST})
@JoinColumn(name = "dept")
private Department dept;

并相应地在部门实体中进行“OneToMany映射”

@OneToMany(mappedBy = "dept")
private List<Employee> employees = new ArrayList<>();

我的JSP Spring表单映射到员工实体。它有一个表单:选择元素以选择值为部门ID的部门。

 <form:form modelAttribute="createEmployee"
            action="${pageContext.request.contextPath}/createdemployee"
            method="post">
 ..............
 ..............

<form:input path="employee.firstName" type="text" width="20px;" />
<form:select>
  <form:option value="1001">IT</form:option>
  <form:option value="1002">Finance</form:option>
  <form:option value="1003">Marketing</form:option>
  <form:option value="1004">Sales</form:option>
  <form:option value="1005">H.R</form:option>
</form:select>

如何在员工实体中设置Deparment对象,以根据表单上的选择进行设置?

控制器

@RequestMapping("/createdemployee")
public String goCreatedEmployee(Model model, Employee employee){
    employeeDataServices.addEmployee(employee);
    return "created_employee";
}

共有1个答案

董建德
2023-03-14

您可以像这样使用它:

<form:select path="employee.department.code">
  <form:option value="1001">IT</form:option>
  <form:option value="1002">Finance</form:option>
  <form:option value="1003">Marketing</form:option>
  <form:option value="1004">Sales</form:option>
  <form:option value="1005">H.R</form:option>
</form:select>

从控制器中获取员工模型并获取部门名称?

还要在代码中添加request方法-POST/PUT。

@RequestMapping(value = /createdemployee, method = RequestMethod.POST)
public String goCreatedEmployee(Model model, Employee employee){
    employeeDataServices.addEmployee(employee);
    return "created_employee";
}

让我知道它是否有效?

 类似资料:
  • 我想将XML节点值(从AJAX脚本发送的XML)映射到相应的HTML表单元素中。例如,XML数据; 应通过脚本插入HTML表单: 问题在于,脚本应该通用地适用于所有对象(不能预先知道XML中会给出哪些字段,例如,如果“fieldx”是用XML发送的,则该脚本应该满足document.myform.fieldx表单元素,并具有XML中的相应值)。所以这个脚本应该循环所有XML节点,并尝试将值设置为H

  • 目前,我的应用程序是这样工作的:1。应用程序从用户获得输入。2.UserRegistrationForm执行验证。3.如果没有错误,UserRegistrationForm将映射到UserEntity。4.UserEntity保存在数据库中。 我在想这是不是一个好的设计。也许我应该直接在我的用户实体中进行验证?或者也许有一种方法可以自动将表单支持对象映射到实体?

  • 我已经在Hibernate中使用了spring boot。和api接口。有两个实体。项目实体是父实体,应用程序实体是子实体。建立了一个单人关系。但当我努力坚持的时候。我没有看到为一个项目添加应用程序。 项目实体: 应用程序实体: 控制器操作:

  • 问题内容: 我有一个类似的xml: 我想将元素映射到类MyBean中的属性 有什么办法可以做到吗?我正在使用JDK 1.6随附的jaxb 问题答案: 注意: 我是 EclipseLink JAXB(MOXy)的 负责人,并且是 JAXB(JSR-222) 专家组的成员。 使用任何JAXB(JSR-222)实现 使用任何JAXB(JSR-222)实现,您都可以使用来映射此用例。 ThetaValue

  • 我希望将XML反序列化为Java Pojo,但我不需要所有元素,并且我希望避免创建样板包装类来获取一些子元素 例如-->现在不起作用

  • 问题内容: 我将开始一个使用Spring和Hibernate管理的REST应用程序项目。 我知道Spring允许您从HTTP Request(带有注释)中获取Java对象。如果此Java对象也是Hibernate实体,是否有冲突?嵌套对象是否起作用(如关系)? 问题答案: 我们正在使用这种方法来简化设计并摆脱许多dto(我们滥用它们太多了)。基本上,它对我们有用。 但是,在我们的REST模型中,我