This EJB QL query is returning null, when it should not. Can someone point me 
in the right direction. 
What is wrong with my EJB QL query?

And i call it from the struts action.

Thanks in advance.

public java.util.List findTrip(String placefrom, String placeto) throws 
Exception{
  |         List q = null;
  |         try {
  |             
  |             q = (List) em.createQuery("SELECT OBJECT(b) FROM Bookingline b 
WHERE " +
  |                     "b.bkLPlaceFrom = :sessionName AND b.bkLPlaceTo " +
  |                     "= :sessionName2").setParameter("sessionName",placefrom)
  |                     .setParameter("sessionName2",placeto).getResultList();
  |             
  |         } catch (NoResultException en) {
  |             
  |             en.printStackTrace(); // just to be sure, maintain this enabled 
until finish debugging.
  |             return q = null;
  |         } catch(Exception ex) {
  |             ex.printStackTrace(); // just for debugging. You will find 
errors like missing space between WHERE and clauses...
  |             throw ex; // just rethrow exception...
  |         }
  |         
  |         return q;
  |     }
  |     
  |     
  |     public java.util.List tripSearch(String placefrom, java.lang.String 
placeto) throws Exception {
  |         List q = null;
  |         
  |         q = findTrip(placefrom,placeto);
  |         
  |         System.err.println(q==null?"tripSearchReturned NULL":"tripSearch 
returned "+q.size());
  |         
  |         
  |         
  |         return q;
  |     }

  | /*
  |  * BookingLineAction.java
  |  *
  |  * Created on 04 June 2006, 14:11
  |  */
  | 
  | package com.myapp.struts;
  | 
  | import entity.Bookingline;
  | import javax.servlet.http.HttpServletRequest;
  | import javax.servlet.http.HttpServletResponse;
  | import javax.servlet.http.HttpSession;
  | import org.apache.commons.beanutils.BeanUtils;
  | 
  | import org.apache.struts.action.Action;
  | import org.apache.struts.action.ActionForm;
  | import org.apache.struts.action.ActionMapping;
  | import org.apache.struts.action.ActionForward;
  | /**
  |  *
  |  * @author Other
  |  * @version
  |  */
  | 
  | 
  | public class BookingLineAction extends Action {
  |     
  |     //User selects Destination and Arrival, Action calls EJB which searches
  |     //databases for trips that match destination and arrival. Forwards 
results
  |     //page which displays trips available with that destination.
  |     
  |     /* forward name="success" path="" */
  |     private final static String SUCCESS = "success";
  |     private final static String FAIL = "fail";
  |     
  |     /**
  |      * This is the action called from the Struts framework.
  |      * @param mapping The ActionMapping used to select this instance.
  |      * @param form The optional ActionForm bean for this request.
  |      * @param request The HTTP Request we are processing.
  |      * @param response The HTTP Response we are processing.
  |      * @throws java.lang.Exception
  |      * @return
  |      */
  |     public ActionForward execute(ActionMapping mapping, ActionForm  form,
  |             HttpServletRequest request, HttpServletResponse response)
  |             throws Exception {
  |         
  |         BookingLineActionForm bookinglineform = (BookingLineActionForm) 
form; // get the form bean
  |         Bookingline bookingline = new Bookingline();
  |         //ArrayList mylist = new ArrayList();
  |         bookingline = null;
  |         
  |         String placefrom = bookinglineform.getBkLPlaceFrom();
  |         String placeto = bookinglineform.getBkLPlaceTo();
  |         
  |         
  |         bookingline = 
lookupBookinglineFacade().tripSearch(placefrom,placeto);
  |         
  |         
//BeanUtils.copyProperties(bookingline,lookupBookinglineFacade().tripSearch(placefrom,placeto));
  |         if (bookingline == null) {
  |             return mapping.findForward(FAIL);
  |         }
  |         
  |         request.setAttribute("bookingList", bookingline);
  |         //HttpSession session = request.getSession();
  |         
//request.setAttribute("bookingList",lookupBookinglineFacade().tripSearch(placefrom,placeto));
  |         
  |         
  |         return mapping.findForward(SUCCESS);
  |     }
  |     
  |     private session.BookinglineFacadeLocal lookupBookinglineFacade() {
  |         try {
  |             javax.naming.Context c = new javax.naming.InitialContext();
  |             return (session.BookinglineFacadeLocal) 
c.lookup("java:comp/env/ejb/BookinglineFacade");
  |         } catch(javax.naming.NamingException ne) {
  |             
java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception
 caught" ,ne);
  |             throw new RuntimeException(ne);
  |         }
  |     }
  | }



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3950079#3950079

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3950079


_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to