-->
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: hibernate problem while using large result sets
PostPosted: Fri Nov 02, 2007 7:45 am 
Newbie

Joined: Wed Oct 10, 2007 2:08 am
Posts: 5
Hi Folks,

I need a favor from you guys on handling large results sets. Here's my problem :

I have an employee table where there are more than 5000 employees. My application is based on Spring/Hibernate. In my Service class I have a method called "autoCancel". This method is scheduled to run everyday at off peak hours by a scheduler called "Quartz". I have a dao class where all the db ops are coded.
The autoCancel method will call a method called getEmployeeList. Then it will iterate over this list and for each element in the list it will cast the element to a EmploymentDetail object and get the employeeTerminationDate from this object. Then it will compare that date with the current date and if the termination date is after current date then it will call the cancelForm method on the dao which in turn inserts a row in the db. The cancelForm can be run independently too and it never causes any problem in doing so. It seems the session is getting closed before inserting the data in the db because of the large resultset.
Though scheduling thru Quartz is working fine but I am getting errors when when processing this huge resultset.
Following are the related code excerpts :


Service class

Code:
public void autoCancel() {
       List employeeList = new ArrayList();
       Calendar today = Calendar.getInstance();
       System.out.println("Todays date***** "+today.toString());
       // gets the employeeList from the DB
       System.out.println("calling manageMRDao.getEmployeeList%%%%%%%%%");
       employeeList = manageMRDao.getEmployeeList();
       System.out.println("got employeeList#####size"+employeeList.size());
       // iterates thru the list and checks if 15 months have passed the associates' termination date
       for(int i=0;i<employeeList.size();i++) {
          System.out.println("111111111111111111");
          employmentDetail = (EmploymentDetail)employeeList.get(i);
          System.out.println("2222222222222");
          
          if(employmentDetail.getTerminationDate() !=null) {
             System.out.println("33333333333333");
          Date empTermDate = employmentDetail.getTerminationDate();
          System.out.println("Employee termination date===="+empTermDate.toString());
          Calendar calTerm = Calendar.getInstance();
          calTerm.setTime(empTermDate);
          System.out.println("Date and time for employee termination===="+calTerm.toString());
          calTerm.add(Calendar.MONTH, BHPConstants.EXPIRY_PERIOD);
          System.out.println("after adding 15 months to termnation date===="+calTerm.toString());
          String personId = employmentDetail.getPersonMaster().getPersonId().toString();
          System.out.println("person id getting processed===="+personId);
          if (calTerm.after(today)) {
             System.out.println("calling manageMRDao.cancelMRForm**** ");
             manageMRDao.cancelMRForm(personId);
             System.out.println("cancelled the form#####");
          
          }
       
       }
       }
    }


Dao class

Code:
public MRFormDto cancelMRForm(String personId) {
       mrAuthInfo = new MRAuthInfo();
       mrFormDto.setFormSubmitted(isFormOnFile(personId));
       //if(isFormCancelled(personId)){
       mrFormDto.setFormActive(isFormCancelled(personId));
       List personList = new ArrayList();
       
       try {
          personList = hibernateOperations.find("from PersonMaster pm where pm.personId = "+personId);
          logger.debug("person id in cancel form =="+personId);
           } catch (DataAccessException de) {
             de.printStackTrace();
             
          }catch (Exception e) {
             e.printStackTrace();
          }
           if(!personList.isEmpty()) {
              personMaster = (PersonMaster)personList.get(0);
              logger.debug("person list is not empty");
           }
           try {
              logger.debug("iterating over the form list in db");
           Iterator formInfoList = hibernateOperations.iterate("select fm from MRFormMaster fm, Oraganisation org, PersonMaster pm," +
                 " Subscriber sub where org.custId = sub.oraganisation.custId and sub.personMaster.personId = pm.personId" +
                    " and org.mrFormMaster.formId = fm.formId and pm.personId ="+personId );
           while ( formInfoList.hasNext() ) {
               mrFormMaster = (MRFormMaster)formInfoList.next();
               logger.debug("form id====="+mrFormMaster.getFormId());
               logger.debug("form master found");
          }
           } catch (DataAccessException de) {
             de.printStackTrace();
             
          }catch (Exception e) {
             e.printStackTrace();
          }
           
        mrAuthInfo.setPersonId(new Integer(personId));
        mrAuthInfo.setFormId(mrFormMaster.getFormId());
        mrAuthInfo.setStatus("N");
        mrAuthInfo.setAllProviders("N");
       mrAuthInfo.setIsExpired("Y");
       mrAuthInfo.setExpiryDate(new Date());
       mrAuthInfo.setEsignature(personMaster.getLastName()+personMaster.getFirstName()+personMaster.getDateOfBirth());
      mrAuthInfo.setSentToIhub("Y");
      mrAuthInfo.setDateSentToIhub(new Date());
      mrAuthInfo.setCreatedDate(new Date());
      mrAuthInfo.setCreatedBy(personMaster.getLastName()+","+personMaster.getFirstName());
      mrAuthInfo.setModifiedBy(personMaster.getLastName()+","+personMaster.getFirstName());
      mrAuthInfo.setModifiedDate(new Date());
      mrAuthInfo.setSpouseSelected("N");
      mrAuthInfo.setOtherSelected("N");
       hibernateOperations.save(mrAuthInfo);
       return mrFormDto;
       
       }

public List getEmployeeList() {
       List employeeList = new ArrayList();
       employeeList = hibernateOperations.find("from EmploymentDetail as empdet");
    return employeeList;
    }


Logs

com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: ResultSet is closed.
at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.runtimeXIfNotClosed(WSJdbcResultSet.java(Inlined Compiled Code))
at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultSet.java(Compiled Code))
at org.hibernate.impl.IteratorImpl.postNext(IteratorImpl.java:83)
at org.hibernate.impl.IteratorImpl.next(IteratorImpl.java:120)
at com.nationwide.nsbu.bh.dao.impl.ManageMRDaoImpl.cancelMRForm(ManageMRDaoImpl.java:414)
at com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl.autoCancel(ManageMRServiceImpl.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)

java.sql.SQLException: ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:2883)
at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:352)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:629)
at com.nationwide.nsbu.bh.dao.impl.ManageMRDaoImpl.cancelMRForm(ManageMRDaoImpl.java:440)
at com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl.autoCancel(ManageMRServiceImpl.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
2007-11-02 06:05:51,031 WARN DefaultQuartzScheduler_Worker-1 org.hibernate.util.JDBCExceptionReporter org.hibernate.util.JDBCExceptionReporter - SQL Error: 1400, SQLState: 23000
2007-11-02 06:05:51,031 ERROR DefaultQuartzScheduler_Worker-1 org.hibernate.util.JDBCExceptionReporter org.hibernate.util.JDBCExceptionReporter - ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

2007-11-02 06:05:51,031 ERROR DefaultQuartzScheduler_Worker-1 org.hibernate.event.def.AbstractFlushingEventListener org.hibernate.event.def.AbstractFlushingEventListener - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:69)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:629)
at com.nationwide.nsbu.bh.dao.impl.ManageMRDaoImpl.cancelMRForm(ManageMRDaoImpl.java:440)
at com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl.autoCancel(ManageMRServiceImpl.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:2883)
at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:352)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 19 more
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.springframework.orm.hibernate3.SessionFactoryUtils org.springframework.orm.hibernate3.SessionFactoryUtils - Closing Hibernate Session
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl - closing session
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.jdbc.ConnectionManager org.hibernate.jdbc.ConnectionManager - performing cleanup
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.jdbc.ConnectionManager org.hibernate.jdbc.ConnectionManager - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.jdbc.JDBCContext org.hibernate.jdbc.JDBCContext - after transaction completion
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.jdbc.ConnectionManager org.hibernate.jdbc.ConnectionManager - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
2007-11-02 06:05:51,047 DEBUG DefaultQuartzScheduler_Worker-1 org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl - after transaction completion
2007-11-02 06:05:51,047 WARN DefaultQuartzScheduler_Worker-1 org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob - Could not invoke method 'autoCancel' on target object [com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl@29e7a5e2]
org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
Caused by:
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:69)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:629)
at com.nationwide.nsbu.bh.dao.impl.ManageMRDaoImpl.cancelMRForm(ManageMRDaoImpl.java:440)
at com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl.autoCancel(ManageMRServiceImpl.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:2883)
at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:352)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 19 more
2007-11-02 06:05:51,062 DEBUG DefaultQuartzScheduler_Worker-1 org.quartz.utils.ExceptionHelper org.quartz.utils.ExceptionHelper - Detected JDK support for nested exceptions.
2007-11-02 06:05:51,062 INFO DefaultQuartzScheduler_Worker-1 org.quartz.core.JobRunShell org.quartz.core.JobRunShell - Job DEFAULT.manageMRServiceInvokingJobDetail threw a JobExecutionException:
org.quartz.JobExecutionException: Could not invoke method 'autoCancel' on target object [com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl@29e7a5e2] [See nested exception: org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update]
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:290)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:622)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:629)
at com.nationwide.nsbu.bh.dao.impl.ManageMRDaoImpl.cancelMRForm(ManageMRDaoImpl.java:440)
at com.nationwide.nsbu.bh.services.impl.ManageMRServiceImpl.autoCancel(ManageMRServiceImpl.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java(Compiled Code))
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled Code))
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:275)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:276)
... 3 more
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:69)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1009)
at org.springframework.orm.hibernate3.HibernateAccessor.flushIfNecessary(HibernateAccessor.java:390)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)
... 12 more
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java(Inlined Compiled Code))
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java(Compiled Code))
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:2883)
at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcStatement.java:352)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
... 19 more


Top
 Profile  
 
 Post subject:
PostPosted: Sat Nov 03, 2007 11:58 pm 
Newbie

Joined: Wed Oct 04, 2006 2:47 am
Posts: 12
Looks like your issue is less to do with the size of the result set, and more to do with a constraint violation:

Quote:
2007-11-02 06:05:51,031 ERROR DefaultQuartzScheduler_Worker-1 org.hibernate.util.JDBCExceptionReporter org.hibernate.util.JDBCExceptionReporter - ORA-01400: cannot insert NULL into ("BHP"."MR_AUTH_INFO"."FORM_ID")

2007-11-02 06:05:51,031 ERROR DefaultQuartzScheduler_Worker-1 org.hibernate.event.def.AbstractFlushingEventListener org.hibernate.event.def.AbstractFlushingEventListener - Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update


Top
 Profile  
 
 Post subject:
PostPosted: Sun Nov 04, 2007 7:47 am 
Regular
Regular

Joined: Tue Jan 03, 2006 9:20 am
Posts: 74
an attempt to insert a NULL value into a non-nullable column in fact (which could hint at a failure to calculate the primary key value).


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.