cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Borut BolĨina <borut.bolc...@gmail.com>
Subject API wish(es)
Date Mon, 06 Apr 2009 11:37:03 GMT
Hi,

would it be possible to add one method in DataObjectUtils,

DataObjectA dataObjectA = DataObjectUtils.objectForPK(dataContext,
DataObjectA.class, 1, QueryCacheStrategy.NO_CACHE);

which would always return a fresh object.


By the way, is this the correct way of fetching an object directly
from database?

Expression e = ExpressionFactory.matchExp(DataObjectA.ID_PK_COLUMN, "1");
SelectQuery query = new SelectQuery(DataObjectA.class, e);
query.setCacheStrategy(QueryCacheStrategy.NO_CACHE);
List list = dataContext.performQuery(query);

DataObjectA objectA= null;
if (list.size() > 0) {
    objectA= (DataObjectA) list.get(0);
}

The above code would still use object cache, right, so I will not be
getting the object with values as set in database (maybe changed by
3rd party process). How to overcome this in the above code?

Also, wouldn't it be convenient if performQuery could return just one
object so we do not have to always type the boilerplate
if(list.size>0) ?

Regards,
Borut

Mime
View raw message