[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1189?page=c...
]
Paul Benedict commented on HHH-1189:
------------------------------------
This issue now has a test case. Can it be looked at again for 3.3?
Our development has the same issue: we query for a list of AbstractItems, which implement
the Item interface, but the concrete subclasses also have specific interfaces. Currently,
we cannot cast to those subinterfaces through a proxy.
interfaces for Proxies are not regonized as interfaces
------------------------------------------------------
Key: HHH-1189
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1189
Project: Hibernate3
Issue Type: Patch
Components: core
Affects Versions: 3.1 rc3
Environment: Discovered on Hibernate 3.0, still present in 3.1rc3
Reporter: Tobias
Assignee: Steve Ebersole
Priority: Critical
Attachments: eg.zip
Original Estimate: 1 hour
Remaining Estimate: 1 hour
In org.hibernate.tuple.PojoEntityTuplizer line 119 reads:
if ( !proxyInterface.isInterface() ) {
and should be
if ( !subclassClass.isInterface() ) {
So the code then would look like this:
Subclass subclass = ( Subclass ) iter.next();
Class subclassProxy = subclass.getProxyInterface();
Class subclassClass = subclass.getMappedClass();
if ( subclassProxy!=null && !subclassClass.equals( subclassProxy ) ) {
if ( !subclassProxy.isInterface() ) { // HERE!
throw new MappingException(
"proxy must be either an interface, or the class itself: " +
subclass.getEntityName()
);
}
proxyInterfaces.add( subclassProxy );
}
After that change the specified interfaces for subclass proxies are regonized as such.
Without this patch the superclass is checked, which may not have/be an interface as proxy
class.
--
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