[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-526) Property xyz has an unbound type - is that so?

Paolo "Nusco" Perrotta (JIRA) noreply at atlassian.com
Sun Jan 21 12:44:44 EST 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/ANN-526?page=comments#action_25878 ] 

Paolo "Nusco" Perrotta commented on ANN-526:
--------------------------------------------

After some thought, this is a slippery slope. If we accept this: 

  class SomeGenericType<T extends SomeType> {
      public T property() {return null;}
  } 

Then there is no reason why we shouldn't accept this implicit upper bound as well:

  class SomeOtherGenericType<T> {
      public T property() {return null;}  // T is approximated to Object
  } 

The problem is how much we want to push this type of guessing. I see four options:

1 - The system tries to be smart and approximates all generic types as well as it can. List<T extends Runnable> becomes List<Runnable>, T becomes Object and so on. This might cause problems at runtime, of course.
2 - The system does as above, but logs a warning every time an approximated type is registered.
3 - The system approximates only in certain situations. Maybe different approximation strategies can be plugged in.
4 - The system doesn't try to be too smart, and throws an error whenever a type is not fully resolved.

Emmanuel, WDYT?


> Property xyz has an unbound type - is that so?
> ----------------------------------------------
>
>          Key: ANN-526
>          URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-526
>      Project: Hibernate Annotations
>         Type: Bug

>     Versions: 3.2.1
>     Reporter: Sebastian Kirsch
>     Assignee: Paolo "Nusco" Perrotta
>     Priority: Minor
>  Attachments: Hibernate ANN-526.zip
>
>
> I get this "Property reference has an unbound type and no explictit target entity" exception and I think this is not exactly true. I'm not sure if this is a bug or a feature requests though.
> Have a look at the attached files and read on.
> I guess the model ist pretty easy to understand. The AbstractGeneric allows my to have concrete entities referring to specifc other subclasses - as seen in ConcreteOther and ConcreteSelf. The test case "workingClasses" shows us that Hibernate may work with this model - note that the class AbstractGeneric itslef was NOT added to the configuration.
> Now for the problem: The class OtherEntity is a completly different entity, but it refers to instances of AbstractGeneric - to any subclass of it actually, as AbstractGeneric is obviously abstract.
> If you run the test case "otherClass" the first part states that Hibernate doesn't know AbstractGeneric - which is fine, so I add that class to the configuration and try to build a session factory again. Now we receive the beforementioned exception.
> That's the situation. So is AbstractGeneric really an unbound type? I'd say it is not - T has an upper bound which should be good enough to work with - we know the table and the PK...

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