cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Lazarus <ericllaza...@yahoo.com>
Subject RE: Query Examples Needed � Expression.fromString() syntax?
Date Wed, 24 May 2006 21:14:28 GMT
Oh, I'm not being clear... what I mean is, we will end
up with a composite data structure. I assume that
Cayenne does the right thing unpacking the composite
and turning it into one flat "where" clause in the
eventual sql, right? That's what I meant: am I doing
the right thing in terms of generating good SQL?

It does seem clear to me that for our case where we
don't know how many causes there will be until we see
which things the user has filled in, it does seem that
the 

e = e.and(... 

style will make for pretty simple code. 

--- "Gentry, Michael (Contractor)"
<michael_gentry@fanniemae.com> wrote:

> I don't know which is more efficient as I've never
> timed them.  I'd be willing to wager that your
> database latency will be significantly higher than
> having to choose between Expression and
> ExpressionFactory, though.  Perhaps a case of trying
> to optimize too early?
> 
> I just prefer the way fromString() works so that is
> what I use.  It fits my brain better.  I believe
> fromString() appeared in Cayenne 1.1, so before that
> you had to do it the other way (unless I'm just
> totally off here).
> 
> Use whichever one feels better to you.  :-)
> 
> /dev/mrg
> 
> 
> -----Original Message-----
> From: Eric Lazarus [mailto:ericllazarus@yahoo.com] 
> Sent: Wednesday, May 24, 2006 3:45 PM
> To: cayenne-user@incubator.apache.org
> Subject: Re: Query Examples Needed �
> Expression.fromString() syntax?
> 
> 
> Thank you, Michael and Joshua! 
> 
> What about efficiency? If I want to "and" in a bunch
> of things, like as many as 10 things if the user
> fills
> in all the fields of the web query form, then it
> would
> look like this? :
> 
> Expression e =
> ExpressionFactory.greaterExp("estimatedPrice", new
> BigDecimal(100000.0));
> 
> e = e.and(
> ExpressionFactory.lessExp("estimatedPrice",
> new
> BigDecimal(5000.0)) );
> 
> e = e.and( ExpressionFactory.lessExp("productSize",
> BigDecimal(100.0) );
> 
> e = e.and(
> ExpressionFactory.lessExp("productWeight",
> new
> BigDecimal(200.0)) );
> 
> I can just keep appending conditions on like this?
> Will this turn into efficient SQL code if done this
> way? If not, what is the best way?
> 
> Thanks,
> 
> Eric
> 
> --- Joshua Pyle <joshua.t.pyle@gmail.com> wrote:
> 
> > I never use fromString any more.
> > 
> > But using the expressionFactory to and and or
> > expressions is very simple...
> > 
> > Expression e =
> > ExpressionFactory.greaterExp("estimatedPrice", new
> > BigDecimal(100000.0));
> > 
> > e = e.and(
> > ExpressionFactory.lessExp("estimatedPrice", new
> > BigDecimal(5000.0)) );
> > 
> > -- 
> > Joshua T. Pyle
> > Go has always existed.
> > 
> > On 5/24/06, Eric Lazarus <ericllazarus@yahoo.com>
> > wrote:
> > > Would anyone reply with some nice examples of
> > > SelectQuery beside the simple one here:
> > >
> > >
> >
>
http://www.objectstyle.org/cayenne/userguide/dataobjects/dataobjects-example.html
> > >
> > > Expression e =
> > >   ExpressionFactory.greaterExp("estimatedPrice",
> > >                         new
> BigDecimal(100000.0))
> > >
> > > I need to do things with ANDS and ORs and I'm
> not
> > sure
> > > how to use expression factory (or should I use
> > > Expression.fromString() ?) to do it.
> > >
> > > Right now my immediate need is to be able to
> > construct
> > > a query with an arbitary number of possible
> "and"
> > > clauses depending on what the user types.
> > >
> > > Seems like fromString() is going to be easy and
> > > powerful but I can't find an example of the
> syntax
> > > using google.
> > >
> > > Even just a few nice examples would be helpful.
> > >
> > > Can I look at the attributes of sub objects
> using
> > this
> > > syntax? How?
> > >
> > > Thanks!
> > >
> > > Eric
> > >
> > >
> > >
> __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam
> > protection around
> > > http://mail.yahoo.com
> > >
> > 
> > 
> > -- 
> > Joshua T. Pyle
> > Go has always existed.
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> http://mail.yahoo.com 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Mime
View raw message