|
hi
iam using hibernate3.0 and struts
iam frequently getting Could not execute JDBC batch update
package com.iserviceglobe.pims.stores.action;
import com.iserviceglobe.pims.*;
import com.iserviceglobe.pims.stores.form.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.*;
import javax.servlet.*;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.*;
import net.sf.jasperreports.engine.util.JRImageLoader.*;
import net.sf.jasperreports.engine.data.*;
public class StoreIssueVoucherAction extends Action {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
private DateFormat dateFormat1=null;
private Calendar cal1=null;
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
try
{
Transaction tx = null;
tx = session.beginTransaction();
StoresIssueVoucher voucher= new StoresIssueVoucher();
StoresIssueVoucherForm svf=(StoresIssueVoucherForm)form;
StoresIssueVoucherId ids=new StoresIssueVoucherId(new Integer(svf.getPrjNO()),new Integer(120));
voucher.setCostCentre(svf.getCostCentre());
voucher.setItemName(svf.getItemName());
voucher.setIssuedTo(svf.getIssuedTo());
int i1=svf.getSitItemUnit();
Integer itemunit=new Integer(i1);
voucher.setSitItemUnit(itemunit);
int i10=svf.getSivALEIdcNo();
Integer aliedacno=new Integer(i1);
voucher.setSivAleidcNo(aliedacno);
//date format conversion
String date=svf.getSivDated();
dateFormat1= new SimpleDateFormat("dd/MM/yyyy");
Date tempDate = dateFormat1.parse(date);
cal1 = new GregorianCalendar();
cal1.setTime(tempDate);
java.sql.Date dateDB =
new java.sql.Date( cal1.getTime().getTime() );
voucher.setSivDated(dateDB);
int i2=svf.getSivIssuedQuantityMeasurement();
Integer sqm=new Integer(i2);
voucher.setSivIssuedQuantityMeasurement(sqm);
int i3=svf.getSivIssuedQuantityNo();
Integer qno=new Integer(i3);
voucher.setSivIssuedQuantityNo(qno);
int i4=svf.getSivItemDescription();
Integer desc=new Integer(i4);
voucher.setSivItemDescription(desc);
int i5=svf.getSivItemSize();
Integer itemsize=new Integer(i5);
voucher.setSivItemSize(itemsize);
int i6=svf.getSivNo();
Integer sivno=new Integer(i6);
voucher.setSivNo(sivno);
int i7=svf.getSivSRVvNo();
Integer servno=new Integer(i7);
voucher.setSivSrvvNo(servno);
session.save(voucher);
tx.commit();
System.out.println("Done");
//JASPER REPORT GENERATION
ServletContext context =
this.getServlet().getServletConfig().getServletContext();
System.out.println("--------------SERVLET CONTEXT ADDED--------------");
File reportFile = new File(getServlet().getServletContext().getRealPath(
"/supreme.jasper"));
List StoreVoucherList = ((org.hibernate.classic.Session) session).find("from com.iserviceglobe.pims.StoresIssueVoucher");
Map parameters = new HashMap();
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(StoreVoucherList);
JasperReport jasperReport =
(JasperReport)JRLoader.loadObject(reportFile.getPath());
JasperPrint jasperPrint =
JasperManager.fillReport(jasperReport,parameters,ds);
byte[] bytes = null;
JRXlsExporter jasperXlsExportMgr = new JRXlsExporter();
ByteArrayOutputStream xlsReport = new ByteArrayOutputStream();
jasperXlsExportMgr.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
jasperXlsExportMgr.setParameter(JRExporterParameter.OUTPUT_STREAM, xlsReport);
jasperXlsExportMgr.exportReport();
bytes = xlsReport.toByteArray();
response.setContentType("application/xls");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch(Exception e){
System.out.println(e.getMessage());
}finally{
// Actual voucher insertion will happen at this step
session.flush();
session.close();
}
return mapping.getInputForward();
}
}
so please send me mail
|