|
Hibernate version:3.2.6ga
Mapping documents:
--FeedbackRequest.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 package="cat.big.sas.business">
<class name="FeedbackRequest" table="FEEDBACK_REQUEST">
<id name="requestId" type="integer" column="REQUEST_ID">
<generator class="sequence">
<param name="sequence">FEEDBACK_REQUEST_SEQ</param>
</generator>
</id>
<many-to-one name="packageProfile" class="PackageProfile"
lazy="false" column="PACKAGE_PROFILE_ID" cascade="save-update"/>
<set name="assessmentResponse" table="ASSESSMENT_RESPONSE"
lazy="false" cascade="save-update">
<key column="FEEDBACK_REQUEST_ID" />
<one-to-many class="AssessmentResponse" />
</set>
<component name="auditTrail" class="AuditTrail" lazy="false">
<property name="createdBy" type="string"
column="CREATED_BY" />
<property name="createdOn" type="date"
column="CREATED_DATE" />
<property name="modifiedBy" type="string"
column="MODIFIED_BY" />
<property name="modifiedOn" type="date"
column="MODIFIED_DATE" />
</component>
</class>
</hibernate-mapping>
--PackageProfile.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 package="cat.big.sas.business">
<class name="PackageProfile" table="PACKAGE">
<id name="packageId" type="integer" column="PACKAGE_ID">
<generator class="sequence">
<param name="sequence">PACKAGE_SEQ</param>
</generator>
</id>
<property name="name" type="string" column="PROJECT_NAME" />
<property name="trackingNo" type="string" column="TRACKING_NO" />
<property name="totalEstimatedHours" type="integer"
column="TOTAL_EST_HOURS" />
<property name="businessUnit" type="string"
column="BUSINESS_UNIT" />
<property name="targetDate" type="date" column="TARGET_DATE" />
<property name="actualCompletionDate" type="date"
column="ACTUAL_COMP_DATE" />
<many-to-one name="supplierCompany" class="SupplierCompany"
lazy="false" column="SUPP_COMPANY_ID" cascade="none" />
<many-to-one name="assessor" class="Assessor" lazy="false"
column="ASSESSOR_ID" cascade="save-update" />
<set name="functionHours" table="PACKAGE_FUNCTION_HOURS"
lazy="false" cascade="save-update">
<key column="PACKAGE_ID" />
<one-to-many class="FunctionHours" />
</set>
<set name="specialityHours" table="PACKAGE_SPECIALITY_HOURS"
lazy="false" cascade="save-update">
<key column="PACKAGE_ID" />
<one-to-many class="SpecialityHours" />
</set>
<set name="otherHours" table="OTHER_PACKAGE_HOURS" lazy="false"
cascade="save-update">
<key column="PACKAGE_ID" />
<one-to-many class="OtherPackageHours" />
</set>
<component name="auditTrail" class="AuditTrail" lazy="false">
<property name="createdBy" type="string"
column="CREATED_BY" />
<property name="createdOn" type="date"
column="CREATED_DATE" />
<property name="modifiedBy" type="string"
column="MODIFIED_BY" />
<property name="modifiedOn" type="date"
column="MODIFIED_DATE" />
</component>
</class>
</hibernate-mapping>
--AssessmentResponse.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 package="cat.big.sas.business">
<class name="AssessmentResponse" table="ASSESSMENT_RESPONSE">
<composite-id>
<key-many-to-one name="feedbackRequest"
class="cat.big.sas.business.FeedbackRequest"
column="FEEDBACK_REQUEST_ID" lazy="false" />
<key-many-to-one name="question"
class="cat.big.sas.business.Question" column="QUESTION_ID"
lazy="false" />
<key-many-to-one name="answer"
class="cat.big.sas.business.Answer" column="ANSWER_ID" lazy="false" />
</composite-id>
<property name="comments" type="string" column="COMMENTS" />
<property name="drwngsWthErrors" type="integer"
column="DRWGS_WTH_ERRORS" />
</class>
</hibernate-mapping>
--Question.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="cat.big.sas.business.Question" table="QUESTIONS">
<id name="questionId" type="integer" column="QUESTION_ID">
<generator class="sequence">
<param name="sequence">QUESTIONS_SEQ</param>
</generator>
</id>
<property name="text" type="string" column="QUESTION" />
<property name="type" type="string" column="TYPE" />
<property name="scale" type="integer" column="SCALE" />
<property name="status" type="string" column="STATUS" />
<property name="flag" type="string" column="SECTION" />
<property name="category" type="string" column="CATEGORY" />
<many-to-one name="businessUnit" column="BUSINESS_UNIT"
class="cat.big.sas.business.BusinessUnit" lazy="false" />
<component name="auditTrail"
class="cat.big.sas.business.AuditTrail">
<property name="createdBy" type="string"
column="CREATED_BY" />
<property name="createdOn" type="timestamp"
column="CREATED_DATE" />
<property name="modifiedBy" type="string"
column="MODIFIED_BY" />
<property name="modifiedOn" type="timestamp"
column="MODIFIED_DATE" />
</component>
<set name="answers" lazy="false" cascade="all-delete-orphan"
order-by="ANSWER_ID asc">
<key column="QUESTION_ID" not-null="true" />
<one-to-many class="cat.big.sas.business.Answer" />
</set>
</class>
</hibernate-mapping>
--Answer.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="cat.big.sas.business.Answer" table="ANSWERS">
<id name="answerId" type="integer" column="ANSWER_ID">
<generator class="sequence">
<param name="sequence">ANSWERS_SEQ</param>
</generator>
</id>
<property name="text" type="string" column="ANSWER_TEXT" />
<many-to-one name="question" column="QUESTION_ID"
class="cat.big.sas.business.Question" insert="false" update="false" />
</class>
</hibernate-mapping>
Code between sessionFactory.openSession() and session.close():
I hope this makes sense:
This is in the helper class
protected Session getSession() {
return getSessionFactory(DEFAULT).openSession();
}
In the DAO
public List getPendingFeedback(String assessor) throws DBException {
List feedbacks = null;
try {
feedbacks = getSession()
.createQuery(
"FROM FeedbackRequest WHERE packageProfile.assessor.cwsId='"
+ assessor
+ "' AND requestId NOT IN (SELECT requestId from FeedbackAssessment)")
.list();
return feedbacks;
} catch (Exception exception) {
exception.printStackTrace();
throw new DBException();
}
}
Full stack trace of any exception that occurs:
Hibernate: select feedbackre0_.REQUEST_ID as REQUEST1_12_, feedbackre0_.PACKAGE_PROFILE_ID as PACKAGE2_12_, feedbackre0_.CREATED_BY as CREATED3_12_, feedbackre0_.CREATED_DATE as CREATED4_12_, feedbackre0_.MODIFIED_BY as MODIFIED5_12_, feedbackre0_.MODIFIED_DATE as MODIFIED6_12_ from FEEDBACK_REQUEST feedbackre0_, PACKAGE packagepro1_ where feedbackre0_.PACKAGE_PROFILE_ID=packagepro1_.PACKAGE_ID and packagepro1_.ASSESSOR_ID='CATENGG' and (feedbackre0_.REQUEST_ID not in (select feedbackas2_.FEEDBACK_REQUEST_ID from FEEDBACK_ASSESSMENT feedbackas2_, FEEDBACK_REQUEST feedbackre3_ where feedbackas2_.FEEDBACK_REQUEST_ID=feedbackre3_.REQUEST_ID))
[6/26/08 17:35:23:723 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:24:536 IST] 00000038 SystemOut O Hibernate: select supplierco0_.COMPANY_ID as COMPANY1_15_0_, supplierco0_.CODE as CODE15_0_, supplierco0_.DESC as DESC15_0_, supplierco0_.STATUS as STATUS15_0_, supplierco0_.COMMENTS as COMMENTS15_0_, supplierco0_.CREATED_BY as CREATED6_15_0_, supplierco0_.CREATED_DATE as CREATED7_15_0_, supplierco0_.MODIFIED_BY as MODIFIED8_15_0_, supplierco0_.MODIFIED_DATE as MODIFIED9_15_0_ from SUPP_COMPANY supplierco0_ where supplierco0_.COMPANY_ID=?
[6/26/08 17:35:25:348 IST] 00000038 SystemOut O Hibernate: select assessor0_.ASSESSOR_ID as ASSESSOR1_6_0_, assessor0_.FULL_NAME as FULL2_6_0_, assessor0_.ADMIN_CODE as ADMIN3_6_0_, assessor0_.ADMIN_CODE_DESC as ADMIN4_6_0_, assessor0_.EMAIL_ID as EMAIL5_6_0_ from ASSESSOR assessor0_ where assessor0_.ASSESSOR_ID=?
[6/26/08 17:35:26:192 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:27:130 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:27:973 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:28:817 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:29:630 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:30:426 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:31:223 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:32:036 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:32:848 IST] 00000038 SystemOut O Hibernate: select packagepro0_.PACKAGE_ID as PACKAGE1_5_0_, packagepro0_.PROJECT_NAME as PROJECT2_5_0_, packagepro0_.TRACKING_NO as TRACKING3_5_0_, packagepro0_.TOTAL_EST_HOURS as TOTAL4_5_0_, packagepro0_.BUSINESS_UNIT as BUSINESS5_5_0_, packagepro0_.TARGET_DATE as TARGET6_5_0_, packagepro0_.ACTUAL_COMP_DATE as ACTUAL7_5_0_, packagepro0_.SUPP_COMPANY_ID as SUPP8_5_0_, packagepro0_.ASSESSOR_ID as ASSESSOR9_5_0_, packagepro0_.CREATED_BY as CREATED10_5_0_, packagepro0_.CREATED_DATE as CREATED11_5_0_, packagepro0_.MODIFIED_BY as MODIFIED12_5_0_, packagepro0_.MODIFIED_DATE as MODIFIED13_5_0_ from PACKAGE packagepro0_ where packagepro0_.PACKAGE_ID=?
[6/26/08 17:35:33:692 IST] 00000038 SystemOut O Hibernate: select assessment0_.FEEDBACK_REQUEST_ID as FEEDBACK1_1_, assessment0_.QUESTION_ID as QUESTION2_1_, assessment0_.ANSWER_ID as ANSWER3_1_, assessment0_.FEEDBACK_REQUEST_ID as FEEDBACK1_14_0_, assessment0_.QUESTION_ID as QUESTION2_14_0_, assessment0_.ANSWER_ID as ANSWER3_14_0_, assessment0_.COMMENTS as COMMENTS14_0_, assessment0_.DRWGS_WTH_ERRORS as DRWGS5_14_0_ from ASSESSMENT_RESPONSE assessment0_ where assessment0_.FEEDBACK_REQUEST_ID=?
[6/26/08 17:35:33:973 IST] 00000038 SystemOut O Hibernate: select question0_.QUESTION_ID as QUESTION1_0_0_, question0_.QUESTION as QUESTION0_0_, question0_.TYPE as TYPE0_0_, question0_.SCALE as SCALE0_0_, question0_.STATUS as STATUS0_0_, question0_.SECTION as SECTION0_0_, question0_.CATEGORY as CATEGORY0_0_, question0_.BUSINESS_UNIT as BUSINESS8_0_0_, question0_.CREATED_BY as CREATED9_0_0_, question0_.CREATED_DATE as CREATED10_0_0_, question0_.MODIFIED_BY as MODIFIED11_0_0_, question0_.MODIFIED_DATE as MODIFIED12_0_0_ from QUESTIONS question0_ where question0_.QUESTION_ID=?
[6/26/08 17:35:34:520 IST] 00000038 SystemOut O Hibernate: select answer0_.ANSWER_ID as ANSWER1_1_0_, answer0_.ANSWER_TEXT as ANSWER2_1_0_, answer0_.QUESTION_ID as QUESTION3_1_0_ from ANSWERS answer0_ where answer0_.ANSWER_ID=?
[6/26/08 17:35:35:051 IST] 00000038 StringType I could not read column value from result set: COMMENTS14_0_; Invalid operation: result set closed
[6/26/08 17:35:35:333 IST] 00000038 JDBCException W SQL Error: -99999, SQLState: null
[6/26/08 17:35:35:333 IST] 00000038 JDBCException E Invalid operation: result set closed
[6/26/08 17:35:35:458 IST] 00000038 SystemErr R org.hibernate.exception.GenericJDBCException: could not initialize a collection: [cat.big.sas.business.FeedbackRequest.assessmentResponse#1022]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.loadCollection(Loader.java:2001)
at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:63)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:454)
at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:844)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at cat.big.sas.dao.impl.FeedbackDAOImpl.getPendingFeedback(FeedbackDAOImpl.java)
at cat.big.sas.service.impl.FeedbackServiceImpl.getPendingFeedback(FeedbackServiceImpl.java:208)
Caused by: com.ibm.db2.jcc.a.SqlException: Invalid operation: result set closed
at com.ibm.db2.jcc.a.zc.lb(zc.java:3426)
at com.ibm.db2.jcc.a.zc.a(zc.java:1368)
at com.ibm.db2.jcc.a.zc.getString(zc.java:1232)
at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:1799)
at cat.cis.tuf.server.connector.jdbc.v1.JDBCv1DBResultSet.getString(JDBCv1DBResultSet.java:816)
at org.hibernate.type.StringType.get(StringType.java:18)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2101)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
at org.hibernate.loader.Loader.getRow(Loader.java:1206)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:63)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
at org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:454)
at org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:844)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at cat.big.sas.dao.impl.FeedbackDAOImpl.getPendingFeedback(FeedbackDAOImpl.java)
at cat.big.sas.service.impl.FeedbackServiceImpl.getPendingFeedback(FeedbackServiceImpl.java:208)
at cat.big.sas.actions.FeedbackAssessmentAction.displayAssessments(FeedbackAssessmentAction.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Name and version of the database you are using:
DB2 v8
The generated SQL (show_sql=true):
Please refer to the stack trace.
Debug level Hibernate log excerpt:
Problems with Session and transaction handling?
No problem I quess. The code works fine if I change my connection to driver managed strategy, but if I switch to data source, I get this problem.
Following is the code in hibernate.cfg.xml
<session-factory>
<property name="connection.provider_class">
cat.big.sas.util.hibernate.mapping.TUFConnectionProvider
</property>
<property name="connection.tuf_pool_name">
sas-datasource
</property>
<property name="connection.datasource">jdbc/SAS</property>
<!--<property name="connection.driver_class">
com.ibm.db2.jcc.DB2Driver
</property>
<property name="connection.url">
jdbc:db2://hostname:port/SAS
</property>
<property name="connection.username">username</property>
<property name="connection.password">password</property>
<property name="connection.pool_size">1</property>-->
<property name="dialect">
org.hibernate.dialect.DB2Dialect
</property>
<property name="transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<property name="hibernate.jdbc.batch_size">0</property>
<property name="show_sql">true</property>
<property name="current_session_context_class">thread</property>
<mapping resource="cat/big/sas/business/Question.hbm.xml" />
<mapping resource="cat/big/sas/business/Answer.hbm.xml" />
<mapping resource="cat/big/sas/business/Function.hbm.xml" />
<mapping resource="cat/big/sas/business/Speciality.hbm.xml" />
<mapping resource="cat/big/sas/business/BusinessUnit.hbm.xml" />
<mapping resource="cat/big/sas/business/PackageProfile.hbm.xml" />
<mapping resource="cat/big/sas/business/Assessor.hbm.xml" />
<mapping resource="cat/big/sas/business/AccessRequest.hbm.xml" />
<mapping resource="cat/big/sas/business/OptOutReminder.hbm.xml" />
<mapping resource="cat/big/sas/business/FunctionHours.hbm.xml" />
<mapping
resource="cat/big/sas/business/SpecialityHours.hbm.xml" />
<mapping
resource="cat/big/sas/business/OtherPackageHours.hbm.xml" />
<mapping
resource="cat/big/sas/business/FeedbackRequest.hbm.xml" />
<mapping
resource="cat/big/sas/business/FeedbackAssessment.hbm.xml" />
<mapping
resource="cat/big/sas/business/AssessmentResponse.hbm.xml" />
<mapping
resource="cat/big/sas/business/SupplierCompany.hbm.xml" />
</session-factory>
The problem here is that when hibernate is asked to fetch the collection of FeedbackRequest objects, it also needs to fetch the nested objects and their nested objects. Like this--> FeedbackRequest-->PackageProfile and FeedbackRequest--> Set Of Assessment Object--> Each assessment object has a question and an answer along with a refernce to the feedback request object. This fetching works fine in driver managed connections. In datasource connections it gives the problem saying that the result set is closed. I tried to debug a bit and see if what was the state of the sub-nested objects adn I found that they were not initialized. They said something like "Enhanced By CGLIB$". I have lazy="false" almost in all the places. I am wondering if it is the version of cglib.jar or a missing hibernate configuration parameter causing this issue?
_________________ Regards,
pravsemilo.
|