db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vadim Gritsenko <va...@reverycodes.com>
Subject Re: Query and QueryByCriteria
Date Fri, 25 Mar 2005 20:05:31 GMT
Jakob Braeuchi wrote:
> hi vadim,
> query-refactoring is already on my todo-list. i prefer to convert 
> QueryByCriteria into an interface and to have a QueryByCriteriaImpl class.

You don't want to extend Query interface then, do you?

What do you think about possibility of immutable Query objects? It might be too 
complex to implement, though...


> jakob
> Vadim Gritsenko schrieb:
>> Hi All,
>> I would like to introduce new Query implementation, which is a 
>> simplified version of the QueryByCriteria - it does not support 
>> arbitrary criterias but only criterias with certain structure [1].
>> While working on impementation, I noticed, that despite the fact that 
>> there is base interface - Query - OJB relies in many parts on 
>> particular class - QueryByCriteria. So for my query implementation I 
>> have several ways of working this around:
>>   * Extend my query class from QueryByCriteria and override some methods
>>     to disable extra functionality. OJB internals will remain unchanged,
>>     mostly, and will still rely on QueryByCriteria.
>>   * Introduce base abstract class which replaces QueryByCriteria. OJB
>>     internals can rely on this abstract class instead of concrete
>>     QueryByCriteria class with lots of implementation details.
>>   * Extend Query interface to incorporate methods introduced in
>>     QueryByCriteria. OJB internals can rely on interface instead
>>     of concrete class.
>>   * Any other good approach which I missed?
>> Now question, which way is the most appealing way to OJB developers? 
>> My goal is to have these changes incorporated back into OJB, so I'd 
>> like to take the approach which is preferred by OJB team.
>> Another question I had is of more abstract nature... Why OJB's Query 
>> implementations are not immutable objects? It does prevent caching of 
>> Query obhects, multithreaded usage of Query objects, etc. To me, ideal 
>> OJB architecture would rely on Query interface and treat Query 
>> instances as immutable objects - so that new Query implementations can 
>> be plugged in easily, and Query objects themselves can be passed on by 
>> reference without any problems.
>> [1] This new Query will implement query-by-primary-ley and 
>> query-by-reference functionality - with support of plain SQL as well 
>> as stored procedures. As a side effect, it will provide some 
>> query-by-example-object functionality. Current 
>> QueryFactory.newQuery(Object example) is confusing to me - it can not 
>> really create a query by example object, only query by primary key, 
>> right?
>> Thanks,
>> Vadim

To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org

View raw message