Skip to content

Mapped SuperClass Support

chhavigangwal edited this page Oct 18, 2013 · 15 revisions

Introduction:

According to JPA specifications a Mapped super class is used to define state and mapping information that is common to multiple entity classes.A mapped superclass cannot be queried directly and thus must not be passed as an argument to EntityManager or Query operations. It is a super class which does not have any separate table.It can never be a part of persistent relationship and can be concrete or an abstract class.

Why Support it ?

In order to enable JPA compliance of this

Mapped SuperClass :

@MappedSuperclass
@Table(name = "TRNX")
public class Transaction 
{

    @Id
    private String txId;
    
    @Column
    private String bankIdentifier;

    
    @Column
    private Date transactionDt;

Inheritance Strategy:

@Entity
@Table(name = "TRNX")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "tx_type")
public class Transaction extends AbstractTransaction
{
    
    @Column
    private String bankIdentifier;

No join table support enabled

Benefits :

Clone this wiki locally