As you probably know there are many limitations with EJB 2.0 and EJB QL, for example lack of support for

date functions
dynamic queries
limited aggregates support
field groups
control of locking strategies
innner, outer, left, right joins
limited to relationships in EJB.jar
heavyweight persistence objects
no support for read-only and read-mostly beans so limited cache support
No explicit support for pessimistic/optimistic locking


Of course application servers have proprietary extensions a plenty, but these lock you in to the app server.

MVCSoft seems to offer these extensions and more. The greatest benefit seems to be that I can port my solution to any app server, I get some nice caching, light weight object etc

HAs anyone used MVCSoft and have any good or bad experiences to talk of?

Does anyone know of other tools that compete in this space?