Mapovanie názvov tried entít na názvy tabuliek SQL pomocou JPA

1. Úvod

V tomto krátkom tutoriáli sa naučíme, ako nastaviť názvy tabuliek SQL pomocou JPA.

Rozoberieme, ako JPA generuje predvolené názvy a ako poskytovať vlastné.

2. Predvolené názvy tabuliek

Generovanie predvoleného názvu tabuľky JPA je špecifické pre jeho implementáciu.

Napríklad v režime dlhodobého spánku je predvoleným názvom tabuľky názov triedy s veľkým začiatočným písmenom. Je to určené prostredníctvom ImplicitNamingStrategy zmluva.

Toto správanie však môžeme zmeniť implementáciou a PhysicalNamingStrategy rozhranie.

3. Používanie @ Tabuľka

Najjednoduchší spôsob, ako nastaviť vlastný názov tabuľky SQL, je anotovať entitu @javax.persistence.Table a definujte jeho názov parametra:

@Entity @Table (name = "ARTICLES") článok verejnej triedy {// ...}

Môžeme tiež uložiť názov tabuľky do statickej konečnej premennej:

@Entity @Table (name = Article.TABLE_NAME) verejná trieda Článok {public static final Reťazec TABLE_NAME = "ČLÁNKY"; // ...}

4. Prepísanie názvu tabuľky v dotazoch JPQL

V predvolenom nastavení v dotazoch JPQL používame názov triedy entity:

vyberte * z článku

Môžeme to však zmeniť definovaním parametra názvu v @ javax.persistence.Entity anotácia:

@Entity (name = "Môj článok")

Potom by sme náš dopyt JPQL zmenili na:

vyberte * z MyArticle

5. Záver

V tomto článku sme sa dozvedeli, ako JPA generuje predvolené názvy tabuliek a ako nastaviť názvy tabuliek SQL pomocou JPA.

Celý zdrojový kód je ako vždy k dispozícii na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found