Once again, something I had been putting off for a long time turned out to be much easier than expected. I spent the last two days refactoring the fetching code + its now not only much more powerful but also more understandable.
* one-to-many associations always fetched in a single select (rather than two) * many-to-many collections fetched in a single select when outerjoin fetching enabled * outerjoin fetching enabled upon collection elements (!!!) * outerjoin fetching enabled for associations held by components So, for example, if we have a list containing components which each have a many-to-one to some entity class which in turn has a many-to-one to a class with a component that has a many-to-one, that the whole list and all the associated objects are fetched in a *single* select when outerjoin fetching is enabled. So Hibernate can now fetch an entire graph of objects in exactly n+1 selects where n is the number of collection instances in the graph. The only thing missing from this picture is that outerjoin fetching is still not enabled for the first level of a find() query. This will be quite easy to implement given the machinery I've now built. I'm feeling pretty proud of myself now..... ;) ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31 _______________________________________________ Hibernate-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hibernate-devel
