thank you Cris,
thank you Andrus,
it helps.
Zvonimir
On Mon, 2 May 2005 09:35:07 -0400, Cris Daniluk
Post by Andrus AdamchikZvonimir,
If you only have the category id and not the actual Category object, I
personally like to retrieve the object separately using DataObjectUtils
(pragmatically, you need to use the pk from time to time, but the less time
you spend internally communicating with pks, the better). This lets you use
the method Andrus recommended. It might be an extra step, but it pays
dividends in terms of clean code. On top of that, it may not even trigger a
db lookup!
Category category = (Category) DataObjectUtils.objectForPk(context,
Category.class, categoryId);
Hope that helps,
Cris
Post by Andrus AdamchikHi Zvonimir,
The cleanest way is probably to use a Category object as a
Category catgeory = // ... obtain this object instead of usig id
Expression e = ExpressionFactory.matchExp("hasCategory", category);
However if you want to match on an id, you should use "DB" flavor of
Expression e =
ExpressionFactory.matchDbExp("hasCategory.id", categoryId);
BTW, if you use Expression.fromString, Cayenne is using "db:"
prefix to
"db:hasCategory.id").
Hope this helps.
Andrus
Post by Zvonimir SpajicI tried something out, and is
this the best solution?
Without defining the id in the path (hasCategory.id), only write
...
Expression qual_2 = ExpressionFactory.matchExp("hasCategory",
categoryId); ...
Greets
Zvonimir
On Mon, 02 May 2005 15:06:38 +0200, Zvonimir Spajic
Post by Zvonimir SpajicHello,
1) why it's not allowed to build an expression like this
[Category.id]")
...
Expression qual_1 =
Expression.fromString(SomeObject.NAME_PROPERTY + "
Post by Zvonimir SpajicPost by Zvonimir SpajiclikeIgnoreCase '%" + name + "%'");
Expression qual_2 = ExpressionFactory.matchExp("hasCategory.id",
categoryId);
qual_1 = qual_1.andExp(qual_2);
SelectQuery query = new SelectQuery(SomeObject.class, qual_1);
...
-id is the PK-Column of category table
2) what is the best solution in this cases.
Thanks for help
Zvonimir Spajic
--
ascensys
Software & Consulting GmbH
Individualsoftware · IT-Sicherheit · Internetlösungen · Netzwerksysteme ·
Systemintegration
individual software · security concepts · internet solutions · network
systems
Hohenzollernstrasse 114
53721 Siegburg
Germany
phone: +49 (0)2241 1277180
fax: +49 (0)2241 1469621
mobile: +49 (0)173 2050868
e-mail: mailto:***@ascensys.de
internet: http://www.ascensys.de
Confidentiality Notice: This e-mail is privileged and confidential and for
the use of the addressee only. Should you have received this e-mail in
error please notify us by replying directly to the sender or by sending a
message to the sender and delete the e-mail. Unauthorised use, disclosure
or copying of the contents of this e-mail, or any similar action, is
prohibited. Thank you.