问题描述
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:980)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
java.lang.NullPointerException
com.emp.controller.EmployeeController.getEdit(EmployeeController.java:123)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
员工.java
@Entity
@Table(name="employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="emp_id")
private Integer emp_id;
@Column(name="name")
private String name;
@Column(name="designation")
private String designation;
@Column(name="location")
private String location;
@Column(name="employee_type")
private String employee_type;
@OneToMany(mappedBy="employee",fetch = FetchType.EAGER)
private Set<DailyReport> dailyreport;
public Employee() {}
public Employee(String name,String designation,String location,String employee_type) {
super();
this.name = name;
this.designation = designation;
this.location = location;
this.employee_type = employee_type;
}//getters and setters
每日报告.java:
@Entity
@Table(name="daily_report")
public class DailyReport {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name="date")
private Date date;
@Column(name="task_type")
private String task_type;
@Column(name="description")
private String description;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="employee_id")
private Employee employee;
public DailyReport() {}
public DailyReport(Date date,String task_type,String description,Employee employee) {
super();
this.date = date;
this.task_type = task_type;
this.description = description;
this.employee = employee;
}//getters and stters
控制器
@Controller
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@Autowired
private DailyReportService dailyreportService;
@RequestMapping(value = "/editEmployee",method = RequestMethod.GET)
public String getEdit(@RequestParam(value="employee.emp_id",required=false) Integer emp_id,Model model) {
DailyReport dailyreport=new DailyReport();
Employee employee= employeeService.getEmployee(dailyreport.getEmployee().getEmp_id());
model.addAttribute("dailyreportAttribute",employee);
model.addAttribute("emp_id",emp_id);
return "addemployee";
道类:
@Override
public void edit(Employee employee) {
Session sessions = session.getCurrentSession();
Employee existingEmployee = (Employee) sessions.get(Employee.class,employee.getEmp_id());
existingEmployee.setEmp_id(employee.getEmp_id());
existingEmployee.setName(employee.getName());
existingEmployee.setDesignation(employee.getDesignation());
existingEmployee.setLocation(employee.getLocation());
existingEmployee.setEmployee_type(employee.getEmployee_type());
sessions.save(existingEmployee);
}
服务类:
@Transactional
public void edit(Employee employee) {
employeeDao.edit(employee);
我在 spring MVC 和 Hibernate 中有一对多的映射。 在控制器中执行编辑操作时,我收到错误消息:“org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常为 java.lang.NullPointerException”。我是春天的新手。任何人请帮我解决这个问题。谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)