[hibernate-dev] Proxies and typing

Steve Ebersole steve at hibernate.org
Wed Jan 25 14:33:14 EST 2012


In regards to the new "load access", a user asked why we don't leverage 
generics.

The problem is the existence of @Proxy#proxyClass.  We have the same 
issue with Session#load/get taking the entity Class.  We can't use a 
generic sig like:

public <T> T load(Class<T> entityType, ...)

because at times we return objects that are not typed to <T>.  I have to 
dive back into the specifics, but IIRC the problem is that we don't do 
the expected thing and have the generated proxy class extend from the 
entity class if @Proxy#proxyClass names an interface.  I remember this 
change way back when, but the specifics of why escape me at the moment.

IMO I think providing generic signatures would obviously be a great 
improvement.  Is it enough to change this behavior?

WDYT?

-- 
steve at hibernate.org
http://hibernate.org



More information about the hibernate-dev mailing list