Hibernate kártyák

Category sponsor

A Hibernate egy erőteljes és széles körben használt objektum-relációs leképezési (ORM) keretrendszer a Java-hoz. Egyszerűsíti az adatbázis műveleteket a Java objektumok adatbázis táblákra való leképezésével, megszüntetve a JDBC műveletekhez szükséges sablon kód nagy részét. A Hibernate implementálja a Java Persistence API (JPA) specifikációt, és a szabványon túlmenően további funkciókat kínál, beleértve a gyorsítótárazást, a késleltetett betöltést és a fejlett lekérdezési képességeket a HQL (Hibernate Query Language) és Criteria API révén. A Hibernate adatbázis-függetlennek tervezték, lehetővé téve a fejlesztők számára, hogy minimális kódmódosítással váltsanak különböző adatbázisrendszerek között. Elengedhetetlen eszköz vállalati Java alkalmazások számára, hatékony adatperzisztencia és visszanyerési mechanizmusokat biztosítva.

Alkalmazásunk gondosan kiválasztott Hibernate interjúkérdéseket tartalmaz teljes válaszokkal, amelyek hatékonyan felkészítenek minden olyan interjúra, amely ennek az ORM keretrendszernek az ismeretét igényli. Az IT Flashcards nem csak munkakeresők számára hasznos eszköz, hanem nagyszerű módja a tudásod erősítésének és ellenőrzésének. A rendszeres gyakorlás az alkalmazással naprakész tart a Java adatperzisztencia legújabb gyakorlataival, és fenntartja készségeidet az objektum-relációs leképezésben.

Példa Hibernate kártyákra az alkalmazásunkból

Töltse le alkalmazásunkat az App Store-ból vagy a Google Play-ből, hogy több ingyenes tanulókártyához jusson, vagy iratkozzon fel az összes tanulókártya eléréséhez.

Hibernate

Mi az a Hibernate?

A **Hibernate** egy népszerű objektum-relációs leképezési (ORM) eszköz a Java nyelvben, amely keretrendszert biztosít a Java domén objektumok relációs adatbázis táblákhoz történő leképezéséhez. A Hibernate megvalósítja a JPA (Java Persistence API) specifikációt, és hozzáadja saját módszereit és annotációit, jelentősen leegyszerűsítve az adatbázisokkal való munkát.

A Hibernate használatával a fejlesztő az alkalmazás üzleti logikájára koncentrálhat anélkül, hogy az adatkezelési részletekkel kellene foglalkoznia. A Hibernate automatikusan kezeli a CRUD műveleteket (létrehozás, olvasás, frissítés, törlés), az adattípusok átalakítását és az adatbázis kapcsolatok kezelését.

A Hibernate független a konkrét adatbázis-kezelő rendszerektől (DBMS), ami azt jelenti, hogy a legtöbb népszerű relációs adatbázissal tud dolgozni, mint például a MySQL, Oracle, PostgreSQL és sok más.

Hibernate

Milyen Hibernate annotációkat használnak az osztályok adatbázis táblákra történő leképezéséhez?

Hibernában különféle annotációkat használnak az osztályok táblákhoz való leképezésére az adatbázisban. Itt vannak a legfontosabbak:

1. **@Entity**: Ez a fő annotáció, amelyet hozzá kell adnunk az osztályhoz, hogy azt leképezzük egy táblához az adatbázisban. Az @Entity annotációval ellátott osztályt a Hibernate entitásként ismeri fel.

2. **@Table**: A @Table annotációt a táblanév meghatározására használják, amelyhez az osztályt leképezni szeretnénk. Ha nem használjuk ezt az annotációt, az alapértelmezett táblanév megegyezik az osztály nevével.

3. **@Column**: Ezt az annotációt egy osztálytulajdonság leképezésére használják az adatbázis egy oszlopára. Meghatározhatjuk az oszlop nevét, hosszát, egyediségét stb.

4. **@Id**: Ezt az annotációt az elsődleges kulcs meghatározására használják a táblában.

5. **@GeneratedValue**: Általában az @Id-vel együtt használják, a @GeneratedValue annotáció az elsődleges kulcs érték generálási stratégiájának meghatározására szolgál.

6. **@OneToMany, @ManyToOne, @ManyToMany, @OneToOne**: Ezen annotációkat a táblák közötti kapcsolatok típusának meghatározására használják.

7. **@JoinColumn**: Ezt az annotációt a kapcsolatokban használt összekötő oszlop nevének meghatározására használják.

8. **@Transient**: Ezt az annotációt akkor használjuk, ha azt szeretnénk megadni, hogy az osztály mely mezőjét nem szabad leképezni az adatbázis egy oszlopára.

Hibernate

Mi a különbség a @OneToOne és a @ManyToOne között a Hibernate-ben?

A Hibernate-ben az **@OneToOne** és az **@ManyToOne** annotációkat a táblák közötti kapcsolatok leképezésére használják egy adatbázisban. Ezeket arra használják, hogy az egy-az-egyhez és az sok-az-egyhez kapcsolatok reprezentálására szolgáljanak.

Az **@OneToOne** annotációt akkor használjuk, amikor az A tábla egy sora csak a B tábla egy sorához társítható, és a B tábla egy sora csak az A tábla egy sorához társítható. Ez egy viszonylag ritka eset a valós alkalmazásokban, mivel az egy-az-egyhez kapcsolatok általában egyetlen táblával vannak reprezentálva.

Az **@ManyToOne** annotációt akkor használjuk, amikor az A tábla több sora társítható a B tábla egy sorához, de a B tábla egy sora több sorhoz is társítható az A táblában. Ez egy tipikus eset, amikor egy „sok-az-egyhez” kapcsolatot kell reprezentálni, például amikor sok rendelés társítható egy vásárlóhoz.

Összefoglalva, a fő különbség az @OneToOne és az @ManyToOne között az, hogy az @OneToOne egy egy-az-egyhez kapcsolatot reprezentál, míg az @ManyToOne egy sok-az-egyhez kapcsolatot jelent.

Hibernate

Mik a fő különbségek az @Embeddable és az @Embedded között?

**@Embeddable** és **@Embedded** a Hibernate annotációk, amelyeket beágyazott objektumok leképezésére használnak.

**@Embeddable** egy olyan osztályra alkalmazzák, amelyet egy másik entitás objektuma ágyaz be. Ezzel szemben **@Embedded** egy olyan mezőre használják, amely egy másik osztály típusú, amelyet **@Embeddable**-ként jelöltek meg.

A kettő közötti különbség az, hogy **@Embeddable**-t egy olyan osztályban használjuk, amelynek példányait egy másik osztályba akarjuk beágyazni, míg **@Embedded**-et egy olyan osztályban használjuk, amely más osztályok példányait ágyazza magába.

Például:
@Embeddable
public class Address {
    private String street;
    private String city; 
    //.. egyéb mezők
}

A fenti példában az **Address** osztály beágyazható – **@Embeddable**-val van jelölve.
@Entity
public class User {
    @Id
    private Long id;

    //...

    @Embedded
    private Address shippingAddress;
}

A **User** osztályban a **shippingAddress** mező be van ágyazva – **@Embedded**-vel van jelölve.

Összefoglalva, az @Embeddable-t arra használjuk, hogy jelezzük, egy osztály beágyazható más entitásokba, míg az @Embedded-t arra használjuk, hogy meghatározzuk, mely elemeket kell beágyazni egy entitásba.

Download IT Flashcards App Now

Erősítse meg IT tanulási útját a legjobb villámkártya alkalmazással. A programozás alapjaitól a fejlett technológiák elsajátításáig az IT Flashcards az Ön útlevele az IT kiválósághoz. Töltse le most, és fedezze fel potenciálját a mai versenyképes technológiai világban.

Főoldal Blog Szponzorok Kapcsolat Privacy Policy Terms of Service

Copyright © 2025 IT Flashcards