This is a user related question that should go on our forums https://forums.hibernate.org <https://forums.hibernate.org/>
But to answer you, you sometimes want to have a physical table for that abstract class. So Hibernate ORM’s “abstract” really means map it to a table or not. Java’s abstract has a different meaning, it means must be subclassed or not. Mapping both together does not really work. Could you propose a small pull request that clarifies this in the documentation ? Emmanuel > On 24 Nov 2014, at 11:58, Oskar Berggren <oskar.bergg...@gmail.com> wrote: > > Hi, > > The Hibernate documentation (section 10.1.5. Table per concrete class > http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch10.html#inheritance-tableperconcrete > ) says: > >> If your superclass is abstract, map it with abstract="true". If it is not > abstract, >> an additional table (it defaults to PAYMENT in the example above), is > needed >> to hold instances of the superclass. > > Why is this keyword needed? Couldn't abstract classes be detected > automatically using reflection? > > > /Oskar > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev