| 
					
						 Hibernate version: 3.1.3
 
 Mapping documents:
 
 Event.hbm.xml
 <?xml version="1.0"?>
 <!DOCTYPE hibernate-mapping PUBLIC
         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
 <hibernate-mapping>
 	<class name="events.Event" table="EVENTS">
 		<id name="id" column="EVENT_ID">
 			<generator class="native" />
 		</id>
 		<property name="date" type="timestamp" column="EVENT_DATE" />
 		<property name="title" />
 		
 		<many-to-one name="address" class="events.Address" column="ADDRESS_ID"/>
 	</class>
 </hibernate-mapping>
 
 Address.hbm.xml
 <?xml version="1.0"?>
 <!DOCTYPE hibernate-mapping PUBLIC
         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
         "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
 <hibernate-mapping>
 	<class name="events.Address" table="ADDRESS">
 		<id name="id" column="ADDRESS_ID">
 			<generator class="native" />
 		</id>
 
 		<property name="state" />
 	</class>
 </hibernate-mapping>
 Code between sessionFactory.openSession() and session.close():
 Same as the hibernate tutorial except with input for eventState
 
 Full stack trace of any exception that occurs:
 java.lang.NullPointerException
 	at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
 	at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
 	at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
 	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
 	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
 	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
 	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
 	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
 	at org.hibernate.type.EntityType.resolve(EntityType.java:303)
 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
 	at org.hibernate.loader.Loader.doQuery(Loader.java:717)
 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
 	at org.hibernate.loader.Loader.doList(Loader.java:2145)
 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
 	at org.hibernate.loader.Loader.list(Loader.java:2024)
 	at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
 	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533)
 	at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
 	at events.EventManagerServlet.listEvents(EventManagerServlet.java:87)
 	at events.EventManagerServlet.doGet(EventManagerServlet.java:54)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 	at java.lang.Thread.run(Unknown Source)
 
 Name and version of the database you are using:MySQL 1.2.3
 
 
 I am using a modified version of the tutorial, where you input a state as well as the others.  So I enter a event, then a second.  However after adding the second the program errors with the mentioned stacktrace.  Both event and adress are getting stored in the database correctly.
 I can't seem to find what is wrong.  But it only occurs when there is a many-to-one with Address. 
					
  
						
					 |