Table Per Class Hierarchy in Hibernate
Previous Home Next

Suppose we have an interface Payment with the implementors CreditCardPayment, CashPayment, andChequePayment.

The table per hierarchy mapping would display in the following way:

 <class name="Payment" table="PAYMENT">
    <id name="id" type="long" column="PAYMENT_ID">
        <generator class="native"/>
    <discriminator column="PAYMENT_TYPE" type="string"/>
    <property name="amount" column="AMOUNT"/>
    <subclass name="CreditCardPayment" discriminator-value="CREDIT">
        <property name="creditCardType" column="CCTYPE"/>
    <subclass name="CashPayment" discriminator-value="CASH">
    <subclass name="ChequePayment" discriminator-value="CHEQUE">

There is a limitation of this mapping strategy: columns declared by the subclasses, such as CCTYPE, cannot have NOT NULL constraints. Exactly one table is required.

Previous Home Next

Tolal:0 Click:

Show All Comments

Did not find what you were looking for leave your name and message. We will revert within 24 hours
Comment / Feedback: