Hi,
I'm trying to implement object presistence on my simple hibernate project. I have a bean called (Patient) and a daoImp (PatientDaoImp) to store the patient attributes into the DB. When I'm running the test everything looks fine with out any problem, but when i'm trying to post patient information from an HTML form the line dao.save(patient) returns null pointer exception. any idea why? thanks.
PatientDaoImpHTML Code:[U]app-context.xml[/U] <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="${dataSource.driverClassName}" p:url="${dataSource.url}" p:username="${dataSource.username}" p:password="${dataSource.password}" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="com.pems.domain" /> <property name="schemaUpdate" value="true" /> <property name="hibernateProperties"> <props> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop> </props> </property> </bean> <tx:annotation-driven transaction-manager="transactionManager"/>
PatientControllerHTML Code:@ContextConfiguration("/META-INF/spring/app-context.xml") public class PatientDaoImp { @Autowired private SessionFactory sessionFactory; public void save(Patient p){ Session session = sessionFactory.getCurrentSession(); session.save(p); session.flush(); }
Null pointer exceptionHTML Code:@Controller @RequestMapping("/patient/*") public class PatientController { PatientDaoImp dao; @RequestMapping("create") public String createPatientForm(Model model){ model.addAttribute("patient",new Patient()); return "create"; } @RequestMapping(value="add",method = RequestMethod.POST) public String createPatient(Patient patient, BindingResult result, Model model){ System.out.println("create patient called!"); model.addAttribute("patient", patient); dao.save(patient); return "redirect:create"; } }
the error exactly pointing at dao.save(patient)HTML Code:java.lang.NullPointerException com.pems.web.PatientController.createPatient(PatientController.java:28) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:427) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:415) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:788) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:717) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


Reply With Quote
?

)
