These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Problem inserting nested collections with datasource configu
PostPosted: Thu Jun 26, 2008 8:48 am 
Newbie

Joined: Thu Jun 26, 2008 8:10 am
Posts: 4
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.


Top
 Profile  
 
 Post subject: Issue resolved
PostPosted: Fri Jun 27, 2008 1:49 am 
Newbie

Joined: Thu Jun 26, 2008 8:10 am
Posts: 4
Hello All,
Thanks to one and all for trying to work on the issue. However the issue has been resolved. I had added inverse="true" and add session.beginTransaction() and session.close(). This had resolved the issue.

_________________
Regards,
pravsemilo.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 27, 2008 10:00 am 
Expert
Expert

Joined: Tue May 13, 2008 3:42 pm
Posts: 919
Location: Toronto & Ajax Ontario www.hibernatemadeeasy.com
Thanks for posting back!

Someone will invariably have the exact same problem, and this thread will help them solve it.

_________________
Cameron McKenzie - Author of "Hibernate Made Easy" and "What is WebSphere?"
http://www.TheBookOnHibernate.com Check out my 'easy to follow' Hibernate & JPA Tutorials


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.