The hibernate version does not create diagrams to depict inheritance. Here is the my hbm.xml file. It inheritance relationship between BillingDetails, BankAccount and CreditCard is not reflected in the generated diagrams.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"
http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping
package="org.hibernate.auction.model">
<class name="Bid"
table="BID">
<id
name="id"
unsaved-value="0"
type="long">
<generator class="native" />
</id>
<many-to-one
name="item"
column="ITEM_ID"
class="Item"
not-null="true" />
</class>
<class name="BillingDetails"
table="BILLING_DETAILS">
<id
name="id"
column="BILLING_DETAILS_ID"
type="long">
<generator class="native" />
</id>
<property
name="owner"
column="OWNER"
type="string" />
<property
name="number"
column="NUM"
type="string" />
<property
name="created"
column="CREATED"
type="date" />
</class>
<joined-subclass
name="BankAccount" extends="BillingDetails"
table="BANK_ACCOUNT">
<key column="BANK_ACCOUNT_ID" />
<property
name="bankName"
column="BANK_NAME"
type="string" />
<property
name="bankSwift"
column="BANK_SWIFT"
type="string" />
</joined-subclass>
<class name="Category"
table="CATEGORY">
<id
name="id"
column="CATEGORY_ID"
type="long">
<generator class="native"/>
</id>
<property
name="name"
column="NAME"
type="string"
length="30"/>
<many-to-one
name="parentCategory"
column="PARENT_CATEGORY"
class="Category" />
<set
name="childCategories"
inverse="true"
cascade="all-delete-orphan">
<key column="PARENT_CATEGORY" /> <!-- Forign key name -->
<one-to-many class="Category" />
</set>
<set name="items" table="CATEGORY_ITEM"
lazy="true" cascade="save-update"
inverse="true" >
<key column="CATEGORY_ID" />
<many-to-many class="Item" column="ITEM_ID" />
</set>
</class>
<joined-subclass
name="CreditCard" extends="BillingDetails"
table="CREDIT_CARD">
<key column="CREDIT_CARD_ID" />
<property
name="type"
column="TYPE"
type="integer" />
<property
name="expMonth"
column="EXP_MONTH"
type="string" />
<property
name="expYear"
column="EXP_YEAR"
type="string" />
</joined-subclass>
<class name="Item"
table="ITEM">
<id
name="id"
column="ITEM_ID"
type="long">
<generator class="native" />
</id>
<property
name="name"
column="NAME"
type="string"
length="25" />
<property
name="description"
column="DESCRIPTION"
type="string"
length="25" />
<set name="bids"
inverse="true"
cascade="all-delete-orphan" >
<key column="ITEM_ID" />
<one-to-many class="Bid" />
</set>
<set name="categories" table="CATEGORY_ITEM"
lazy="true" cascade="save-update" >
<key column="ITEM_ID" />
<many-to-many class="Category" column="CATEGORY_ID" />
</set>
</class>
<class name="User"
table="USERS">
<id
name="id"
column="USER_ID"
type="long">
<generator class="native"/>
</id>
<property
name="user_name"
column="USER_NAME"
type="string"
length="30"/>
<component
name="homeAddress"
class="Address">
<parent name="user" />
<property
name="street"
type="string"
column="HOME_STREET"
not-null="true"
length="30"/>
<property
name="city"
type="string"
column="HOME_CITY"
not-null="true"
length="30"/>
<property
name="zipCode"
type="short"
column="HOME_ZIPCODE"
not-null="true"/>
</component>
<component
name="billingAddress"
class="Address">
<parent name="user" />
<property
name="street"
type="string"
column="BILLING_STREET"
not-null="true"
length="30"/>
<property
name="city"
type="string"
column="BILLING_CITY"
not-null="true"
length="30"/>
<property
name="zipCode"
type="short"
column="BILLING_ZIPCODE"
not-null="true"/>
</component>
</class>
</hibernate-mapping>