Re: Retrieving Records for a range of primary keys

From: Andrey Razumovsky (razumovsky.andre..mail.com)
Date: Thu Dec 17 2009 - 09:49:27 EST

  • Next message: Hans Pikkemaat: "Re: Retrieving Records for a range of primary keys"

    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
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>>
    >>>>
    >>>
    >>>
    >>
    >>
    >>
    >>
    >
    >

    -- 
    Andrey
    



    This archive was generated by hypermail 2.0.0 : Thu Dec 17 2009 - 09:50:23 EST