Newbie question of the day...
I'm getting an NPE whenever calling getHibernateTemplate().get(Address.class, new Long(addressId));
Any pointers helpfull.
Error
Code:java.lang.NullPointerException org.aafp.tracker.dao.impl.AddressDaoImpl.loadAddress(AddressDaoImpl.java:20) org.aafp.tracker.web.TrackerController.handleRequest(TrackerController.java:27) org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:522) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:321) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
applicationContext.xml
AddressDaoImplCode:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- ========================= GENERAL DEFINITIONS ========================= --> <!-- Message source for this context, loaded from localized "messages_xx" files --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename"><value>messages</value></property> </bean> <!-- ========================= RESOURCE DEFINITIONS ========================= --> <!-- Local DataSource that works in any environment --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://127.0.0.1:3306/tracker?autoReconnect=true</value></property> <property name="username"><value>nobody</value></property> <property name="password"><value></value></property> </bean> <!-- Hibernate Date Interceptor --> <bean id="hibernateDateInterceptor" class="org.aafp.tracker.util.HibernateDateInterceptor"/> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"><ref local="dataSource"/></property> <!-- <property name="entityInterceptor"><ref bean="hibernateDateInterceptor"/></property> --> <property name="mappingResources"> <list> <value>org/aafp/tracker/domain/address.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) --> <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <!-- ========================= BUSINESS OBJECT DEFINITIONS ========================= --> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> <property name="transactionManager"><ref bean="transactionManager"/></property> <property name="transactionAttributes"> <props> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="store*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <bean id="addressDao" parent="baseTransactionProxy"> <property name="target"> <bean class="org.aafp.tracker.dao.impl.AddressDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> </property> </bean> </beans>
Code:public class AddressDaoImpl extends HibernateDaoSupport implements AddressDao { public Address loadAddress(long addressId) { return (Address) getHibernateTemplate().get(Address.class, new Long(addressId)); } }


Reply With Quote