Annotation Interface SecondaryTables


@Target(TYPE) @Retention(RUNTIME) public @interface SecondaryTables
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:
1.0
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    (Required) The secondary tables for an entity.
  • Element Details

    • value

      (Required) The secondary tables for an entity.