"some_table" was the table name in the database which has no effect on your extending classes.
Code:
<class
name="org.hibernate.Apple"
table="apple_table"
>
<meta attribute="generated-class" inherit="false">org.hibernate.BaseApple</meta>
A mapping like that of the above will take care of all the work. In the class "BaseApple" you have the regular POJO fields, setters, getters, and constructors. This is generated by hbmtools or you.
Then YOU write Apple which extends BaseApple. Apple has all of BaseApple's getters and setters, but also allows you to write extra methods in it which will use the getters and setters in BaseApple. Hibernate doesn't know you have extended classes because the class it is looking for is
name="org.hibernate.Apple" and Java doesn't care if you extend classes and neither does hibernate. That meta-attribute tag in the mapping file is just in case you are using the hibernate tools to generate the POJOs from the hbm.xml files.