Note: This ORM/SQL annotation is silently ignored by ObjectDB

158 words

javax.persistence.SecondaryTables - JPA annotation

javax.persistence
Annotation SecondaryTables

Target:
Classes
Specifies multiple secondary tables for an entity.

Example 1: Multiple secondary tables assuming primary key columns are named the same in all tables.

    @Entity
    @Table(name="EMPLOYEE")
    @SecondaryTables({
        @SecondaryTable(name="EMP_DETAIL"),
        @SecondaryTable(name="EMP_HIST")
    })
    public class Employee { ... }

Example 2: Multiple secondary tables with differently named primary key columns.

    @Entity
    @Table(name="EMPLOYEE")
    @SecondaryTables({
        @SecondaryTable(name="EMP_DETAIL", 
            pkJoinColumns=@PrimaryKeyJoinColumn(name="EMPL_ID")),
        @SecondaryTable(name="EMP_HIST", 
            pkJoinColumns=@PrimaryKeyJoinColumn(name="EMPLOYEE_ID"))
    })
    public class Employee { ... }
Since:
JPA 1.0
(Required) The secondary tables for an entity.
(Required) The secondary tables for an entity.
Since:
JPA 1.0

This documentation page is derived (with some adjustments) from the open source JPA 2 RI (EclipseLink)
and is available under the terms of the Eclipse Public License, v. 1.0 and Eclipse Distribution License, v. 1.0.
Object Relational Mapping (ORM) JPA 2 providers include Hibernate, EclipseLink, TopLink, OpenJPA and DataNucleus.
Object DB is not an ORM JPA implementation but an Object Database for Java with built in JPA 2 support.