"Process Object pattern"?

Most O/R Mappers have some sort of support for queries, for example they support a query language such as OPath, PPath, JDOQL, SODA or OCL or they implement the Query Object pattern [Fowler: PoEAA]. Compared to SQL, this is set-support of the DML operation SELECT.

However, as far as I know (and please let me know about examples), it's not common for O/R Mappers to have strong set-support for the other DML operations in SQL, namely INSERT, UPDATE and DELETE. I think having set-support for INSERT, UPDATE and DELETE would be a nice addition to the feature set of O/R Mappers, so my prediction for 2004 is that most O/R Mappers will have some support for that soon.

I guess many of you think that this is a good way of complicating a "simple" and powerful thing such as SQL, right?
However, if you like the idea of O/R Mappers, you might also want to be able to work as much as possible with one programming model and one type system (perhaps type safely) without having to mix with SQL and your database schema (except for when it is REALLY needed). As usual, it's nice to be able to choose between different approaches, right?

I will write another blog post about this shortly, but first I need to publish a status article about the framework I've been developing for a while. The explanation of the ideas about the "Process Object pattern" (or whatever it should be called) needs to be put in context. Stay tuned!