[hibernate-dev] Hibernate extension points

Emmanuel Bernard emmanuel at hibernate.org
Thu Feb 28 14:17:37 EST 2008


Nice work
Can you open a JIRA issue for each point (forget #6 though, too much  
work) and explain the reason for the need briefly?

Emmanuel

On  Feb 26, 2008, at 14:10, Ali H. Ibrahim wrote:

> Hi,
>
> I have been working on an extension to Hibernate called Autofetch.  
> I ran
> into some pain points and although I have worked around them for  
> now, I
> was wondering which of these I could help make better either through
> patches or JIRA issues. Most of these are pretty selfish in that they
> would have made my life easier by making more code accessible.
>
> 1. AbstractLazyInitializer has the initialize method as final. It  
> can be
> useful to be able to override that method to do stuff. I realize it is
> important to make sure that the method is eventually called.
>
> 2. AbstractPersistentCollection has read and write methods as final.
> Again, it was useful in my extension to be able to override these  
> methods.
>
> 3. DefaultInitializeCollectionListener has  
> initializeCollectionFromCache
> method as private. When I subclassed the  
> DefaultInitializeCollectionListener I would have like to have been  
> able
> to call this method from my subclass instead of copying the code.
>
> 4. The PojoInstantiator's state is all private with no getters. It  
> would
> have nice to be able to subclass it in a meaningful way.
>
> 5. A generally useful class is a delegate interceptor which takes  
> takes
> an interceptor as a constructor argument and by default dispatches
> requests to that interceptor.
>
> 6. Might be nice for HbmBinder not to be a static class.
>
> 7. Right now, the tuplizer extension point allows for very broad  
> changes
> in how entities are instantiated, proxies, etc. However there is no  
> such
> extension point for the PersistentCollection classes. I know you can
> change the underlying collection behavior, but I need to change the
> behavior of the collection classes before the underlying collection is
> instantiated.
>
> Shameless plug for Autofetch:
> http://www.cs.utexas.edu/~aibrahim/autofetch. Basically Autofetch  
> tries
> to automate association fetches for queries, with the goal of
> eliminating the need for programmer provided fetch annotations  
> either in
> the configuration file or in the queries themselves. It does so by
> monitoring a programs traversals and learning the correct fetch  
> profile
> for each class of queries. It differentiates queries not only using  
> the
> query itself, but also the stack trace so that different  
> invocations of
> method containing a query will be treated differently.
>
> Regards,
>
> Ali Ibrahim
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev




More information about the hibernate-dev mailing list