Hi ,
I am really stumped by the following NPE. EntityPersister.getPropertyTypes() returns Null after running on Sun one App Server v7.0 Update 1. Somehow, getPropertyTypes() return Null after it been run 3 times.
Any suggestion/help much appreciated.
I am using
Hibernate 2.1.3
Oracle 9i.
Java 1.4.1_01
Code as follows:
Session sess;
List list=Collections.EMPTY_LIST;
Query q;
try
{
sess = HibernateUtil.currentSession();
q = sess.createQuery(
"from Group as c where c.subject.id=:subjectid and "+
"c.school.schoolCode=:schoolcode order by c.name ");
q.setString("schoolcode",school.getSchoolCode());
q.setString("subjectid", subject.getId());
list = q.list();
}
catch (HibernateException e)
{
_log.error("Error:", e);
}
finally {
HibernateUtil.closeSession();
}
Mapping file1:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by the Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="xa.acc.candidates.Candidate"
table="XA_ACC_CANDIDATES_CANDIDATE"
>
<id
name="id"
type="java.lang.String"
column="ID" unsaved-value="null"
>
<generator class="uuid.hex" />
</id>
<property
name="name"
type="java.lang.String"
column="NAME"
length="64"
/>
<property
name="examCentreCode"
type="java.lang.String"
column="EXAMCENTRECODE"
length="4"
/>
<property
name="examIndexNo"
type="java.lang.String"
column="EXAMINDEXNO"
length="10"
/>
<property
name="nric"
type="java.lang.String"
column="NRIC"
length="20"
/>
<property
name="candidateYear"
type="java.lang.String"
column="CANDIDATEYEAR"
length="4"
/>
<property
name="candidateSubjectCode"
type="java.lang.String"
column="CANDIDATESUBJECTCODE"
length="4"
/>
<property
name="className"
type="java.lang.String"
column="CLASSNAME"
length="15"
/>
<property
name="lastUpdate"
type="timestamp"
column="LASTUPDATE"
length="7"
/>
<!-- associations -->
<many-to-one
name="school"
class="xa.acc.schools.School"
column="schoolcode"
unique="true"
/>
<many-to-one
name="group"
class="xa.acc.groups.Group"
column="groupid"
unique="true"
/>
</class>
</hibernate-mapping>
Mapping file 2:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by the Middlegen Hibernate plugin
http://boss.bekk.no/boss/middlegen/
http://hibernate.sourceforge.net/
-->
<class
name="xa.acc.groups.Group"
table="XA_ACC_GROUPS_GROUP"
>
<id
name="id"
type="java.lang.String"
column="ID" unsaved-value="null"
>
<generator class="uuid.hex" />
</id>
<property
name="name"
type="java.lang.String"
column="NAME"
length="7"
/>
<property
name="commitIrregularSize"
type="boolean"
column="COMMITIRREGULARSIZE"
length="22"
/>
<property
name="groupSize"
type="integer"
column="GROUPSIZE"
length="22"
/>
<property
name="task"
type="java.lang.String"
column="TASK"
length="10"
/>
<!-- associations -->
<many-to-one
name="subject"
class="xa.subject.Subject"
column="subjectid"
/>
<many-to-one
name="school"
class="xa.acc.schools.School"
column="schoolcode"
/>
<bag
name="candidates"
table="XA_ACC_CANDIDATES_CANDIDATE">
<key column="groupid"/>
<one-to-many class="xa.acc.candidates.Candidate"/>
</bag>
<bag
name="groupAssessors"
table="XA_ACC_GROUPS_GROUPASSESSOR">
<key column="groupid"/>
<one-to-many class="xa.acc.groups.GroupAssessor"/>
</bag>
</class>
</hibernate-mapping>
Log files:
2004-05-24 20:37:30,364 DEBUG reading row
2004-05-24 20:37:30,364 DEBUG returning 'FE7F2D24-10B6-3C1A-9879-06C93CFD227B' as column: ID__
2004-05-24 20:37:30,364 DEBUG loading [xa.acc.candidates.Candidate#FE7F2D24-10B6-3C1A-9879-06C93CFD227B]
2004-05-24 20:37:30,364 DEBUG attempting to resolve [xa.acc.candidates.Candidate#FE7F2D24-10B6-3C1A-9879-06C93CFD227B]
2004-05-24 20:37:30,374 DEBUG resolved object in session cache [xa.acc.candidates.Candidate#FE7F2D24-10B6-3C1A-9879-06C93CFD227B]
2004-05-24 20:37:30,374 DEBUG returning '0709' as column: SCHOOLCODE0_
2004-05-24 20:37:30,374 DEBUG returning 'FCB7ABF0-757A-A357-2BF0-D52FF0C71EA6' as column: ID1_
2004-05-24 20:37:30,374 DEBUG result row: 0709, FCB7ABF0-757A-A357-2BF0-D52FF0C71EA6
2004-05-24 20:37:30,374 DEBUG Initializing object from ResultSet: FCB7ABF0-757A-A357-2BF0-D52FF0C71EA6
2004-05-24 20:37:30,374 DEBUG Hydrating entity: xa.acc.candidates.Candidate#FCB7ABF0-757A-A357-2BF0-D52FF0C71EA6
2004-05-24 20:37:30,374 DEBUG returning 'CANDIDATE 11530' as column: NAME1_
2004-05-24 20:37:30,374 DEBUG returning '3019' as column: EXAMCENT3_1_
2004-05-24 20:37:30,374 DEBUG returning '0000' as column: EXAMINDE4_1_
2004-05-24 20:37:30,374 DEBUG returning 'S0011530B' as column: NRIC1_
2004-05-24 20:37:30,384 DEBUG returning '2003' as column: CANDIDAT6_1_
2004-05-24 20:37:30,384 DEBUG returning '9988' as column: CANDIDAT7_1_
2004-05-24 20:37:30,384 DEBUG returning '17' as column: CLASSNAME1_
2004-05-24 20:37:30,384 DEBUG returning null as column: LASTUPDATE1_
2004-05-24 20:37:30,384 DEBUG done closing: 0 open PreparedStatements, 0 open ResultSets
2004-05-24 20:37:30,384 DEBUG closing statement
2004-05-24 20:37:30,384 DEBUG closing session
2004-05-24 20:37:30,384 DEBUG disconnecting session
2004-05-24 20:37:30,384 DEBUG transaction completion
2004-05-24 20:37:30,434 ERROR Could not execute action
java.lang.NullPointerException
at net.sf.hibernate.loader.Loader.hydrate(Loader.java:610)
at net.sf.hibernate.loader.Loader.loadFromResultSet(Loader.java:552)
at net.sf.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:511)
at net.sf.hibernate.loader.Loader.getRow(Loader.java:426)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:209)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:915)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:890)
at net.sf.hibernate.loader.OneToManyLoader.initialize(OneToManyLoader.java:93)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:284)
at net.sf.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:3259)
at net.sf.hibernate.collection.PersistentCollection.forceInitialization(PersistentCollection.java:336)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3114)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
at net.sf.hibernate.loader.Loader.doList(Loader.java:955)
at net.sf.hibernate.loader.Loader.list(Loader.java:946)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1536)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at xa.acc.groups.GroupHome.getGroupsBySubjectSchool(GroupHome.java:85)
at xa.web.action.cim.candidate.ViewAssignCandidateGroupSummaryAction.prepare(ViewAssignCandidateGroupSummaryAction.java:59)
at xa.webwork.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:48)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:149)
at com.opensymphony.xwork.interceptor.Around