Currently the persistence initializer just throws away the value of the useFirstRowsByDefault parameter.
Are we really sure that the 'FIRST_ROWS' hint is a sensible thing to be doing at all. From reading the Oracle documentation it seems that this is entirly the *wrong* thing to be doing for most queries. One conceivable case where it may help is if the query had 'setRange()' applied, but even then there are so many other variables at work that blindly applying it to all queries doesn't seem right. Aram tells me DP-WCMS got significant performance improvements removing the FIRST_ROWS hint. We've had similar experiance with Oracle deployments here in the UK, particularly with 9.0.1.
The useFirstRowsByDefault parameter has never applied to all queries, only to those queries that use setRange(). The reasoning and evidence is presented in an oracle performance book, unfortunately I don't recall the name, although Justin might since I believe it was his book. I'd believe that the information in the book is dated to particular versions of oracle, especially since oracle likes to make significant changes to critical sections of their query optimizer between minor point releases (hence the parameter that lets you disable it), but there is solid evidence that the first rows hint is quite useful in the situations where we apply it when the parameter is enabled. In fact given the name I suspect we're using it exactly where it was intended to be used by oracle.