Hi friends
I use spring with HibernateDaoSupport class. When I run the following code:
Tomcat throws Exception:Code:public class UserDAOImpl extends HibernateDaoSupport implements UserDAO { ..................................................................................................... ............................................................................... public User createUser(User user, UserDetail detail) { User hasuser = (User) this.getHibernateTemplate() .createQuery( this.getSession(), <----- NullPointerException here "from User u where u.userName='" + user.getUserName() + "'").uniqueResult(); } .................................................................................................
My config file is the following :Code:root cause java.lang.NullPointerException org.springframework.orm.hibernate.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:141) lyo.hotmail.site.service.UserDAOImpl.createUser(UserDAOImpl.java:41) lyo.hotmail.site.action.RegisteAction.registeUser(RegisteAction.java:51) 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:324) org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280) org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) lyo.hotmail.site.util.HiberFilter.doFilter(HiberFilter.java:46) note The full stack trace of the root cause is available in the Apache Tomcat/5.0.29 logs.
Why "this.getSession()" throws NullPointerException?! Help!Code:<beans> <bean id="MyDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- results in a setDriverClassName(String) call --> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://127.0.0.1:3306/Hibernate?useUnicode=true&characterEncoding=gb2312</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>root</value> </property> <property name="defaultAutoCommit"> <value>false</value> </property> </bean> <!-- <bean id="MyJNDIDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>jdbc/mysql</value> </property> </bean> --> <bean id="MySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="mappingResources"> <list> <value>lyo/hotmail/site/bean/Article.hbm.xml</value> <value>lyo/hotmail/site/bean/Forum.hbm.xml</value> <value>lyo/hotmail/site/bean/Message.hbm.xml</value> <value>lyo/hotmail/site/bean/User.hbm.xml</value> <value>lyo/hotmail/site/bean/UserDetail.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.query.substitutions">true=1 false=0</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.use_outer_join">false</prop> </props> </property> <property name="dataSource"><ref bean="MyDataSource"/></property> </bean> <bean id="fproxy" class="lyo.hotmail.site.util.ForumProxy"> <property name="fdao"> <ref bean="formDao"/> </property> </bean> <bean id="viewSpringForumController" class="lyo.hotmail.site.action.ViewForumcontroller"> <property name="forumProxy"> <ref bean="fproxy"/> </property> </bean> <bean id="rewriteURLController" class="lyo.hotmail.site.action.DispatchForumController"> <property name="fdao"> <ref bean="formDao"/> </property> </bean> <bean id="postArticleController" class="lyo.hotmail.site.action.PostArticleController"> <property name="fdao"> <ref bean="formDao"/> </property> </bean> <bean id="viewDetailController" class="lyo.hotmail.site.action.viewDetailController"> <property name="forumProxy"> <ref bean="fproxy"/> </property> </bean> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/oldForum.spring">viewSpringForumController</prop> <prop key="/viewForum.spring">viewSpringForumController</prop> <prop key="/detail.spring">viewDetailController</prop> <prop key="/newPost.spring">rewriteURLController</prop> <prop key="/post.spring">postArticleController</prop> </props> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property> <property name="prefix"><value>/WEB-INF/forum/</value></property> <property name="suffix"><value>.jsp</value></property> </bean> <bean id="formDao" class="lyo.hotmail.site.service.ForumDAOImpl"> <property name="sessionFactory"> <ref bean="MySessionFactory"/> </property> <property name="udao"> <ref bean="userDao"/> </property> </bean> <bean id="userDao" class="lyo.hotmail.site.service.UserDAOImpl"> <property name="sessionFactory"> <ref bean="MySessionFactory"/> </property> </bean> </beans>![]()


Reply With Quote
