Hm. I've never thought about specifying the columns and table via parameters. Event supposing that this works (not convinced it does/will), do you actually have a property named 1 in the UserSchedule entity
(select us.:SKDID...setParameter("SKDID",1) => select us.1)?

Try specifying the entity and property names directly. Parameters are generally used for parameterized values, like:

EJQLQuery query = new EJBQLQuery("select us.sku from UserSchedule us where us.userId=:id");
query.setParameter("id",1);

Robert

On Apr 8, 2009, at 4/84:48 AM , Francois Eyl wrote:

Howdy guys,

I'm trying to use EJBQL query and parameters, but I can't get it to work. Is
there something special for ?
Bellow is a quick sample of what I'm doing :

String queryString = "SELECT us.:SKDID FROM :USCHED us WHERE
us.:UID=1";
               EJBQLQuery query = new EJBQLQuery(queryString);

               query.setParameter("SKDID", 1);
               query.setParameter("USCHED",
UserSchedule.class.getSimpleName());
query.setParameter("UID", UserSchedule.USER_ID_PROPERTY);

               try {
                  ctx.getContext().performQuery(query);
               } catch (CayenneRuntimeException e) {
                   System.err.println(e.getMessage());
               }

I'm getting the following message : "[v.3.0M5 Dec 09 2008 00:42:23] Error
parsing EJB QL statement".

Can somebody tell me where I'm wrong ?

Thanks,
Francois.

Reply via email to