Following is the code:
public List getDCList(String selectionCriteria, HttpServletRequest request)
{
Transaction tx = null;
List ar = new ArrayList();
String startDate = (String)request.getParameter("startDate");
String endDate = (String)request.getParameter("endDate");
String[] startDateArr = startDate.split("/");
String[] endDateArr = endDate.split("/");
ReportDC reportDC = null;
try {
Session session = InitSessionFactory.getInstance().getCurrentSession();
tx = session.beginTransaction();
System.out.println(startDate);
Criteria criteria
= session.createCriteria(ReportDC.class);
DateFormat format =
new SimpleDateFormat("dd-mm-yy");
java.util.Date startDate1 = new Date(Integer.parseInt(startDateArr[2])-1900,Integer.parseInt(startDateArr[0])-1,Integer.parseInt(startDateArr[1]));
//(Date)format.parse(startDateArr[2] + "-" + startDateArr[0] + "-" + startDateArr[1]);
System.out.println(startDate1);
java.util.Date endDate1 = new Date(Integer.parseInt(endDateArr[2])-1900,Integer.parseInt(endDateArr[0])-1,Integer.parseInt(endDateArr[1]));
//(Date)format.parse(endDateArr[2] + "-" + endDateArr[0] + "-" + endDateArr[1]);
criteria.add(Expression.between
("sap_order_date", new java.util.Date(startDate1.getTime()),
new java.util.Date(endDate1.getTime()))); //
HttpSession httpSession = request.getSession();
UserProfile userProfile = (UserProfile)httpSession.getAttribute("userProfile");
int userRole = userProfile.getRole_id();
String page = (String)request.getParameter("page");
int pageNum = Integer.parseInt(page);
if(GlobalConstants.tsmRoleId==userRole)
{
criteria.add(Expression.eq("depot",selectionCriteria));
}
if(GlobalConstants.plhRoleId==userRole)
{
criteria.add(Expression.eq("plant",selectionCriteria));
System.out.println("plantId : " + selectionCriteria);
String filterBy = (String)request.getParameter("filterBy");
System.out.println("filterBy : " + filterBy);
System.out.println("pageNum : " + pageNum);
if(filterBy.equals("transporter"))
{
String filterCriteria = (String)request.getParameter("filterCriteria");
System.out.println("filterCriteria : " + filterCriteria);
criteria.add(Expression.eq("transporter",filterCriteria));
}
if(filterBy.equals("CustSegment"))
{
String filterCriteria = (String)request.getParameter("filterCriteria");
criteria.add(Expression.eq("customerSegment",filterCriteria));
}
if(filterBy.equals("Depot"))
{
String filterCriteria = (String)request.getParameter("filterCriteria");
criteria.add(Expression.eq("depot",filterCriteria));
}
}
if(pageNum==0)
{
criteria.setFirstResult(0);
}else
{
criteria.setFirstResult(pageNum*50);
}
criteria.setMaxResults(50);
System.out.println("Before criteria.list");
List dcList = criteria.list();///Line where problem is there
System.out.println("After criteria.list");
Iterator itr = dcList.iterator();
while(itr.hasNext())
{
reportDC = (ReportDC)itr.next();
ar.add(reportDC);
}
} catch (HibernateException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}
return ar;
}
This is fired when i click on a button. Data is filled by database team. I do not fire any update statement in my entire application. Sometimes this code runs fine but on repeated clicks anytime some update statements are fired..
The stack trace for it is:
1St time
Before criteria.list
Hibernate: select * from ( select row_.*, rownum rownum_ from ( select this_.ORDER_ID as ORDER1_19_0_, this_.VEHICLENO as VEHICLENO19_0_, this_.TRANSPORTER as TRANSPOR3_19_0_, this_.ROUTE_ID as ROUTE4_19_0_, this_.PLANT as PLANT19_0_, this_.DEPOT as DEPOT19_0_, this_.CUSTOMERID as CUSTOMERID19_0_, this_.CUSTOMERSEGMENT as CUSTOMER8_19_0_, this_.PRODUCTGRADE as PRODUCTG9_19_0_, this_.COF_PROMISED_DATE as COF10_19_0_, this_.DELIVERY_DATE as DELIVERY11_19_0_, this_.CUSTOMER_REQUESTED_DATE as CUSTOMER12_19_0_, this_.COMPLIANCE_STATUS as COMPLIANCE13_19_0_, this_.DIFFERENCE as DIFFERENCE19_0_, this_.SAP_ORDER_DATE as SAP15_19_0_, this_.STATUS as STATUS19_0_ from REPORT_DC this_ where this_.SAP_ORDER_DATE between ? and ? and this_.PLANT=? ) row_ where rownum <= ?) where rownum_ > ?
After criteria.list
2nd Time:
Before criteria.list
Hibernate: select * from ( select row_.*, rownum rownum_ from ( select this_.ORDER_ID as ORDER1_19_0_, this_.VEHICLENO as VEHICLENO19_0_, this_.TRANSPORTER as TRANSPOR3_19_0_, this_.ROUTE_ID as ROUTE4_19_0_, this_.PLANT as PLANT19_0_, this_.DEPOT as DEPOT19_0_, this_.CUSTOMERID as CUSTOMERID19_0_, this_.CUSTOMERSEGMENT as CUSTOMER8_19_0_, this_.PRODUCTGRADE as PRODUCTG9_19_0_, this_.COF_PROMISED_DATE as COF10_19_0_, this_.DELIVERY_DATE as DELIVERY11_19_0_, this_.CUSTOMER_REQUESTED_DATE as CUSTOMER12_19_0_, this_.COMPLIANCE_STATUS as COMPLIANCE13_19_0_, this_.DIFFERENCE as DIFFERENCE19_0_, this_.SAP_ORDER_DATE as SAP15_19_0_, this_.STATUS as STATUS19_0_ from REPORT_DC this_ where this_.SAP_ORDER_DATE between ? and ? and this_.PLANT=? ) row_ where rownum <= ?) where rownum_ > ?
After criteria.list
3rd time:
Before criteria.list
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: update REPORT_DC set VEHICLENO=?, TRANSPORTER=?, ROUTE_ID=?, PLANT=?, DEPOT=?, CUSTOMERID=?, CUSTOMERSEGMENT=?, PRODUCTGRADE=?, COF_PROMISED_DATE=?, DELIVERY_DATE=?, CUSTOMER_REQUESTED_DATE=?, COMPLIANCE_STATUS=?, DIFFERENCE=?, SAP_ORDER_DATE=?, STATUS=? where ORDER_ID=?
Hibernate: select * from ( select row_.*, rownum rownum_ from ( select this_.ORDER_ID as ORDER1_19_0_, this_.VEHICLENO as VEHICLENO19_0_, this_.TRANSPORTER as TRANSPOR3_19_0_, this_.ROUTE_ID as ROUTE4_19_0_, this_.PLANT as PLANT19_0_, this_.DEPOT as DEPOT19_0_, this_.CUSTOMERID as CUSTOMERID19_0_, this_.CUSTOMERSEGMENT as CUSTOMER8_19_0_, this_.PRODUCTGRADE as PRODUCTG9_19_0_, this_.COF_PROMISED_DATE as COF10_19_0_, this_.DELIVERY_DATE as DELIVERY11_19_0_, this_.CUSTOMER_REQUESTED_DATE as CUSTOMER12_19_0_, this_.COMPLIANCE_STATUS as COMPLIANCE13_19_0_, this_.DIFFERENCE as DIFFERENCE19_0_, this_.SAP_ORDER_DATE as SAP15_19_0_, this_.STATUS as STATUS19_0_ from REPORT_DC this_ where this_.SAP_ORDER_DATE between ? and ? and this_.PLANT=? ) row_ where rownum <= ?) where rownum_ > ?
After criteria.list
I am completely clueless and even searched on net but could not find any solution. Please help me out
Thanks and Regards,
Vikash Anand.
|