JPA @Basic Bilješka

1. Pregled

U ovom brzom vodiču istražit ćemo JPA @Osnovni, temeljni bilješka. Također ćemo razgovarati o razlici između @Osnovni, temeljni i @Stupac JPA bilješke.

2. Osnovne vrste

JPA podržavaju različite tipove podataka Java kao trajna polja entiteta, često poznata kao osnovni tipovi.

Osnovni tip preslikava se izravno u stupac u bazi podataka. To uključuje Java primitive i njihove klase omotača, Niz, java.math.BigInteger i java.math.BigDecimal, razne dostupne klase datuma i vremena, nabrajanja i bilo koji drugi tip koji se primjenjuje java.io.Serializable.

Hibernate, kao i svaki drugi dobavljač ORM-a, održava registar osnovnih tipova i koristi ga za rješavanje specifičnih stupaca org.hibernate.type.Type.

3. @Osnovni, temeljni Bilješka

Možemo koristiti @Osnovni, temeljni napomena za označavanje osnovnog svojstva tipa:

@ Tečaj javne klase Entity {@Basic @Id private int id; @Basic privatni naziv niza; ...}

Drugim riječima, the @Osnovni, temeljni napomena na polju ili svojstvu označava da je to osnovni tip i Hibernate bi trebao upotrijebiti standardno mapiranje za njegovo postojanje.

Imajte na umu da je to neobavezna napomena. I tako, možemo prepisati svoje Tečaj entitet kao:

@ Tečaj javne klase Entity {@Id private int id; privatni naziv niza; ...}

Kad ne odredimo @Osnovni, temeljni napomena za osnovni atribut tipa, implicitno se pretpostavlja i primjenjuju se zadane vrijednosti ove napomene.

4. Zašto koristiti @Osnovni, temeljni Bilješka?

The @Osnovni, temeljni napomena ima dva atributa, neobavezna i donijeti. Pogledajmo pobliže svaku.

The neobavezna atribut je a boolean parametar koji definira dopušta li označeno polje ili svojstvo null. Zadane vrijednosti pravi. Dakle, ako polje nije primitivan tip, pretpostavlja se da je temeljni stupac poništavajuće prema zadanim postavkama.

The donijeti atribut prihvaća člana nabrajanja Dohvati, koji određuje treba li označeno polje ili svojstvo lijeno učitati ili željno dohvatiti. Zadane vrijednosti FetchType.EAGER, ali možemo dopustiti lijeno učitavanje postavljanjem na FetchType.LIJENO.

Lijeno utovar imat će smisla samo kada imamo veliku Serijalizirati objekt mapiran kao osnovni tip, jer u tom slučaju trošak pristupa terenu može biti značajan.

Imamo detaljan vodič koji pokriva željno / lijeno učitavanje u hibernaciji koji dublje zaranja u temu.

Sad, recimo da ne želimo dopustiti nula za naše Tečaj‘S Ime i želite lijeno učitati i to svojstvo. Zatim ćemo definirati naše Tečaj entitet kao:

@ Tečaj javne klase Entity {@Id private int id; @Basic (neobavezno = false, fetch = FetchType.LAZY) naziv privatnog niza; ...}

Trebali bismo izričito koristiti @Osnovni, temeljni napomena kada je voljan odstupiti od zadanih vrijednosti neobavezna i donijetiparametri. Možemo odrediti jedan ili oba ova atributa, ovisno o našim potrebama.

5. JPA @Osnovni, temeljni nasuprot @Stupac

Pogledajmo razlike između @Osnovni, temeljni i @Stupac napomene:

  • Atributi @Osnovni, temeljni bilješke primjenjuju se na JPA entitete, dok se atributi @Stupac primjenjuju se na stupce baze podataka
  • @Osnovni, temeljni bilješke neobavezna atribut definira može li polje entiteta biti null ili ne; s druge strane, @Stupac bilješke poništavajuće atribut određuje može li odgovarajući stupac baze podataka biti null
  • Možemo koristiti @Osnovni, temeljni kako bi naznačio da polje treba biti lijeno opterećeno
  • The @Stupac napomena nam omogućuje da odredimo Ime mapiranog stupca baze podataka

6. Zaključak

U ovom smo članku saznali kada i kako koristiti JPA @Osnovni, temeljni bilješka. Također smo razgovarali o tome kako se razlikuje od @Stupac bilješka.

Kao i obično, primjeri koda dostupni su na Githubu.


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