如何解决Spring MVC Hibernate:消息请求处理失败;嵌套异常是 java.lang.NullPointerException
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 举报,一经查实,本站将立刻删除。