So what about defining a query closure, that is, declare a set of statements that is executed for each qualifying instance that satisfies the filter.
This could execute in memory for memory collections, or in the datastore for non-instantiated collections. For portability we need to define the closure in terms that can be mapped directly to SQL.
For example,PERFORM salary *= 1. + :percent; lastSalaryAdjustment = :date FROM Employee WHERE rating == :rating
Query q = pm.newQuery(Employee, "rating > :rating");
q.setPerform("salary *= 1.06; lastSalaryAdjustment = :date");
q.execute(.06, new Date(), 7);
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature
