Re: Retrieving Records for a range of primary keys

From: Hans Pikkemaat (h.pikkemaa..si-solutions.nl)
Date: Thu Dec 17 2009 - 09:59:44 EST

  • Next message: Dave Lamy: "Re: ParseException with EJBQL expression"

    Hi,

    This works like a charm.

    thanks

    Hans

    Andrey Razumovsky wrote:
    > It has since 3.0. It's already in beta (and RC1 will likely be this year),
    > so I advice you to switch.
    > Otherwise, try
    >
    > Expression exp = new ASTBetween(new ASTDbPath(pathSpec), value1, value2);
    >
    > (not sure this is complatible with 2.0)
    >
    > 2009/12/17 Hans Pikkemaat <h.pikkemaa..si-solutions.nl>
    >
    >
    >> but the ExpressionFactory doesnt have betweenDbExp.
    >>
    >> I'm using version 2 btw
    >>
    >>
    >> Andrey Razumovsky wrote:
    >>
    >>
    >>> Yeah, for range you'll need betweenDbExp, I just got mistreated with
    >>> analogue to paginated queries, which use in
    >>>
    >>> 2009/12/17 Hans Pikkemaat <h.pikkemaa..si-solutions.nl>
    >>>
    >>>
    >>>
    >>>
    >>>> Hi,
    >>>>
    >>>> I guess this produces the 'IN' operator.
    >>>> This would mean I need to produce all the key values in the range I want
    >>>> to
    >>>> retrieve?
    >>>>
    >>>> Is there not a betweenDbExp?
    >>>>
    >>>> tx
    >>>>
    >>>> Hans
    >>>>
    >>>>
    >>>> Andrey Razumovsky wrote:
    >>>>
    >>>>
    >>>>
    >>>>
    >>>>> If you're using SelectQuery, Expression.inDbExp() is for you to go. See
    >>>>> http://cayenne.apache.org/doc/path-expressions.html
    >>>>>
    >>>>> 2009/12/17 Hans Pikkemaat <h.pikkemaa..si-solutions.nl>
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>>> Hi,
    >>>>>>
    >>>>>> Some paginated mechanisms are based on a persistence layer to be able
    >>>>>> to
    >>>>>> retrieve records for a range of primary keys.
    >>>>>>
    >>>>>> I know it is possible to insert the primary key field in the definition
    >>>>>> but
    >>>>>> then I'm also required to populate it
    >>>>>> when I create a record. I'm using a sequence generator to determine the
    >>>>>> key
    >>>>>> value of a new record.
    >>>>>>
    >>>>>> So my question is: without having to insert the key field in the
    >>>>>> definition, is it possible to query the table
    >>>>>> by primary key range, and if yes, how?
    >>>>>>
    >>>>>> tx
    >>>>>>
    >>>>>> Hans Pikkemaat
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>
    >>>
    >>>
    >>>
    >>
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Thu Dec 17 2009 - 10:00:30 EST