I just posted the following as a feature request. Its something I would
very much like to see just after 1.0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

It would be very useful to allow the application to limit the size of a
query result list. The three obvious ways to do this would be:

1. provide overloaded versions of find() and iterate() that take an int
argument

2. allow a LIMIT clause in the query language (like MySQL)

3. for advanced usage of queries, provide a Query object with a
setMaxResults().

approach (1) has the disadvantage of causing an explosion of methods on the
Session interface - and a further possible explosion if we ever decide to
extend this functionality to allowing offsets, fetch sizes, etc....

approach(2) leaves slightly open the question of how to bind a dynamic
value to the LIMIT value .... the best way to do this would be with a "?"
placeholder that looks just like the JDBC in parameters. Also this approach
complexifies the query language which is somewhat undesirable.

approach (3) requires a single new prepareQuery() method of the Session
interface. However, it also requires a change in the was users think about
queries. On the _very_ positive side it allows easy and elegant extension
to setting other things like fetch sizes. Incidently, this is the standard
model used by persistence layers.

Given the preceding discussion, I would be ruling out (1) in favor of (2)
or (3) - which are not mutually exclusive, actually.

Thoughts?


----------------------------------------------------------------------------
                   Bringing you mounds of caffeinated joy
                   >>>     http://thinkgeek.com/sf    <<<

_______________________________________________
Hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to