Specifica dell'eredit… di entit…

Ô possibile che un'entit… erediti propriet… da altre entit…. Ô possibile specificare una determinata strategia da utilizzare per l'eredit….

Utilizzare questa procedura per specificare l'eredit… (@Inheritance) relativa ad un'entit… esistente (@Entity):

  1. Selezionare l'entit… in Esplora progetti.

  2. Nella vista Dettagli JPA, selezionare le informazioni sulla Eredit….

    Specifica dell'eredit…

    Selezione dell'area Eredit… nella vista Dettagli JPA.
  3. Nell'elenco Strategia, selezionare una delle seguenti strategie di eredit…:

    • Tabella singola (predefinito)

    • Tabella unita

    • Una tabella per classe

  4. Per completare i campi rimanenti nella scheda, utilizzare la seguente tabella. Per maggiori dettagli, fare riferimento a "Informazioni sull'eredit…".

    Propriet… Descrizione Impostazione predefinita
    Colonna di discriminazione Nome della colonna di discriminazione quando si utilizza una strategia di eredit… Singola oppure Unita.

    Questo campo corrisponde all'annotazione @DiscriminatorColumn.


    Tipo di discriminazione Impostare il tipo di discriminazione su Char oppure su Integer, invece dell'impostazione predefinita: String. Ô necessario che il valore di discriminazione sia conforme a questo tipo. String
    Valore di discriminazione Specificare il valore di discriminazione utilizzato per differenziare un'entit… in questa gerarchia di eredit…. Ô necessario che il valore sia conforme al tipo di discriminazione specificato.

    Questo campo corrisponde all'annotazione @DiscriminatorValue.


    Annulla valore predefinito Per specificare le colonne di join a chiave primaria personalizzata, utilizzare questo campo.

    Questo campo corrisponde all'annotazione @PrimaryKeyJoinClumn.



Eclipse aggiunge le seguenti annotazioni al campo relativo all'entit…:

@Inheritance(strategy=InheritanceType.<INHERITANCE_STRATEGY>)
@DiscriminatorColumn(name="<DISCRIMINATOR_COLUMN>",
    discriminatorType=<DISCRIMINATOR_TYPE>)
@DiscriminatorValue(value-"<DISCRIMINATOR_VALUE>")
@PrimaryKeyJoinColumn(name="<JOIN_COLUMN_NAME>", 
    referencedColumnName = "<REFERENCED_COLUMN_NAME>")

Le seguenti figure illustrano le differenti strategie di eredit….

Eredit… tabella singola

La figura illustra l'eredit… dell'entit… in una tabella singola.

Eredit… tabella unita

Questa figura illustra una strategia di eredit… della sottoclasse unita.

 

Attivit… correlate

Aggiunta della persistenza ad una classe

 

Concetti correlati

Informazioni sulla persistenza Java