Re: AW: Expressions with date function

From: Andrew Willerding (awillerdin..allistacti.com)
Date: Wed Jul 25 2007 - 11:52:21 EDT

  • Next message: Jan Lendholt: "Optimistic locking seems not to work"

    Hi Peter,

    Thanks for your reply. I'm pretty sure I tried to do something like
    that originally but still had errors like those I reported originally

    where my expression was something like (I can't remember exactly what I had)

                String anExp = "groupId = " + identity +
                               " and status < 2" +
                               " and date(dtAppointment) = '$date'" ;
                Expression exp = Expression.fromString(anExp);
                exp = exp.expWithParameters(Collections.singletonMap("date",
    new SimpleDateFormat("yyyyMMdd").format(item.getTime())));
                SelectQuery qAppointments = new
    SelectQuery(Appointments.class, exp);
    )

    I have since worked around the problem by using the following statements
    - which work but seems to me to defeat the purpose of using Cayenne.
    I'm sure it's my lack of understanding on how to effectively use Cayenne
    and not the capabilities of Cayenne!!

                String anExp = "groupId = " + identity +
                               " and status < 2" +
                               " and dtAppointment >= '" +
                        new SimpleDateFormat("yyyyMMdd
    00:00:00").format(item.getTime()) + "'" +
                               " and dtAppointment <= '" +
                        new SimpleDateFormat("yyyyMMdd
    23:59:59").format(item.getTime()) + "'";
                Expression exp = Expression.fromString(anExp);
                SelectQuery qAppointments = new
    SelectQuery(Appointments.class, exp);

    Andrew

    Peter Schröder wrote:
    > hi andrew,
    >
    > i am not totally clear about that, but afaik you may not use that date() function in your expression. cayenne will put the right string of a date object to your query, if you pass a date as a parameter.
    > take a look at named parameter expressions: http://cayenne.apache.org/doc20/building-expressions.html
    >
    >
    >..ndrus: on http://cayenne.apache.org/doc20/expressions.html there is still a broken link to BNF expression language!
    >
    >



    This archive was generated by hypermail 2.0.0 : Wed Jul 25 2007 - 11:52:34 EDT