[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3808?page=c...
]
Ovidio Mallo commented on HHH-3808:
-----------------------------------
Thanks for the feedbak, Shawn!
It seems like we are really talking about different things. I like what you're
suggesting and I think it would be nice if Hibernate had explicit support for that use
case.
What I want to do is loading the Bids collections for a given set of Items which I want to
do in a single bulk load operation and I want Hibernate to load the Bids collections for
exactly those Items (I already have the Items loaded by some other means). The problem
with using Hibernate.initialize() or simply accessing the Bids collections is that
Hibernate decides behind the scenes during lazy-loading on which Items the Bids
collections are loaded, depending on whether you have configured batch fetching or
subselect fetching in your global mapping file. While this is often fine, it doesn't
always give you full control on the set of Items on which the Bids collections are loaded.
With batch fetching you have the problem that the Bids may be loaded on too many Items and
subselect fetching only performs ideally if you have loaded the Items on which you want to
have the Bids loaded in the same query. IMHO, in more complex applications such global
fetching strategies do not always perform ideally, especially in performance critical
parts.
So, in essence, what I want to do is simply to batch load the Bids collections (or other
properties) on a user-defined set of Items.
Manual fetching of associations
-------------------------------
Key: HHH-3808
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3808
Project: Hibernate Core
Issue Type: New Feature
Components: core
Reporter: Ovidio Mallo
In performance critical parts of an application, batch fetching and subselect fetching
not always allow for an efficient and specific prefetching of entity associations.
Therefore, I wanted to propose to add some API which allows to prefetch a given
association for a user defined set of entities. This could be something like
Session#fetch(Class ownerClass, Serializable[] ownerIds, String propertyName)
or
Session#fetch(Class ownerClass, Object[] owners, String propertyName)
or something similar. The method would then load the association for the given entities
(just like batch fetching would do) and put the associations in the session cache for
later usage.
I think this would greatly help when performance really matters and you want to have full
control about the set of entities on which an association is fetched.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira