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.