From: Tobias (JIRA) <no...@at...> - 2006-05-16 04:23:11
|
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1189?page=comments#action_23104 ] Tobias commented on HHH-1189: ----------------------------- Unless this is fixed in the source you need to pull the sources, apply the fix youself and compile your own hibernate version. Another option is to let the superclass use a interface as the proxy. That would be a workaround. > interfaces for Proxies are not regonized as interfaces > ------------------------------------------------------ > > Key: HHH-1189 > URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1189 > Project: Hibernate3 > Type: Patch > Components: core > Versions: 3.1 rc3 > Environment: Discovered on Hibernate 3.0, still present in 3.1rc3 > Reporter: Tobias > Assignee: Steve Ebersole > Priority: Critical > > Original Estimate: 1 hour > Remaining: 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.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |