Quote:
thus a subclass logically cannot extends anything else than its superclass...
In the context of java code, I agree with you.
But in the context of maps, Hibernate allows for superclasses to be represented as interfaces. In this case (see the initial post for the map example) the subclass is implementing the superclass (the interface), not extending it.
In my specific case, the mapping maps a hierarchy of interfaces, with each interface having a mapped implementation subclass. Each mapped implementation class needs to be able to extend the implementation class of its superinterface. (See my previous posts for the map/code example)
Also, I have the mapped properties/associations defined in the interface mapping, and the getter/setters are generated in the interface. It would seem logical that the getter/setter implementations would be generated in the subclass, but they are not.
I've been using this mapping strategy with success in an application for six months. If you have particular objections to using this mapping strategy, whether theoretical or practical, I'd be glad to hear them, as well as any alternatives.