[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2268) JDK Bug 5062759 Breaks Hibernate Introspection

James Olsen (JIRA) noreply at atlassian.com
Fri Feb 29 06:28:33 EST 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29630 ] 

James Olsen commented on HHH-2268:
----------------------------------

I agree that the original line:

if ( methods[i].getParameterTypes().length==0 ) {

should striclty speaking be:

if ( methods[i].getParameterTypes().length==0 && !methods[i].isBridge()) {

rather than as shown in the patch:

if ( methods[i].getParameterTypes().length==0 && !Modifier.isVolatile(methods[i].getModifiers())) {


> JDK Bug 5062759 Breaks Hibernate Introspection
> ----------------------------------------------
>
>                 Key: HHH-2268
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2268
>             Project: Hibernate3
>          Issue Type: Patch
>          Components: core
>    Affects Versions: 3.2.0.ga
>         Environment: n/a
>            Reporter: James Olsen
>            Priority: Blocker
>         Attachments: patch.txt
>
>
> Class#getDeclaredMethods() returns inherited methods - see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5062759
> This can result in Hibernate failing to determine the correct return type for a method that overrides an inherited method and further constrains the return type.  Behaviour is nondeterministic as it depends on the order of the returned array, e.g.
>  public volatile java.lang.Object com.xxx.impl.CPMImpl.getId() // from interface implemented by superclass
>  public volatile com.xxx.api.CPMId com.xxx.impl.CPMImpl.getId() // from superclass implementation
>  public com.xxx.impl.CPMIdImpl com.xxx.impl.CPMImpl.getId() // local
> The patch checks if the method is 'volatile' and ignores it if it is.

-- 
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

        



More information about the hibernate-issues mailing list