Re: count(*) with parameter

From: Arnaud Garcia (arnau..magemed-87.com)
Date: Wed Apr 21 2010 - 03:07:48 EDT

  • Next message: Michael Gentry: "Re: Elementary Question"

    thanks all
    arnaud

    2010/4/19 Joe Baldwin <jfbaldwi..arthlink.net>

    > Arnaud,
    >
    > For example: I think you can add stored procedures via the CayenneModeler
    > (CM). I have not used this feature yet, and so I do not know if this is
    > even an optimum solution. (Maybe the Cayenne team knows the answer to
    > this.)
    >
    > You could try this out and then do some performance testing to decide what
    > is best. (I would be interested in the result.)
    >
    > My design was to create a custom Persistence Factory class and add
    > convenience methods as I need them. I also located a lot of
    > CayenneDataObject-related methods in the CayenneDataObject's subclass. As I
    > learned more about Cayenne features, I was able to easily update this kind
    > of design for performance enhancements and bug fixes. (This is just my
    > opinion.)
    >
    > Your decision might come down to performance or simply whether your design
    > concepts are better handled fromm the DBMS or OO perspective.
    >
    > Joe
    >
    > On Apr 19, 2010, at 12:28 PM, Arnaud Garcia wrote:
    >
    > > Hi and thanks,
    > >
    > > Well both, modeler and code (just for my cayenne understanding...)
    > > And in the modeler ?
    > >
    > > Arnaud
    > >
    > > 2010/4/18 Joe Baldwin <jfbaldwi..arthlink.net>
    > >
    > >> Arnaud,
    > >>
    > >> If I understand you, I think you want to do this in the code and not the
    > >> modeler?
    > >>
    > >> Here is a simple code fragment for a like-ignore-case qualifier:
    > >>
    > >> String substring = "Martin";
    > >> ObjectContext oc = BaseContext.getThreadObjectContext();
    > >> Expression exp =
    > >> ExpressionFactory.likeIgnoreCaseExp(Product.NAME_PROPERTY, ("%" +
    > substring
    > >> + "%"));
    > >> SelectQuery query = new SelectQuery(Product.class, exp);
    > >> List list = oc.performQuery(query);
    > >> System.out.println("\ncount: " + list.size());
    > >>
    > >> This is pretty efficient and to my knowledge does not trigger any
    > >> DataObject faults. There are a few other ways to do this depending on
    > your
    > >> design. The ExpresionFactory has a lot of powerful methods to help you
    > out.
    > >>
    > >> Joe
    > >>
    > >>
    > >>
    > >>
    > >> On Apr 18, 2010, at 12:15 PM, Arnaud Garcia wrote:
    > >>
    > >>> Hello,
    > >>>
    > >>> I am not sure how to create a select count(*) in the modeler when I
    > need
    > >> to
    > >>> pass a parameter ?
    > >>> I downloaded the petstore example, and it seems that I have to create a
    > >> "Raw
    > >>> SQL" Query, and directly write my select count(*)...
    > >>>
    > >>> =>but how to I had my parameter in my SQL ?
    > >>>
    > >>> ... then I suppose I can do ctxt.performQuery("myCount",params,true) ?
    > >>>
    > >>> thanks for help for this beginner question...
    > >>>
    > >>> Arnaud
    > >>
    > >>
    >
    >



    This archive was generated by hypermail 2.0.0 : Wed Apr 21 2010 - 03:08:49 EDT