Hibernate flashcards

Category sponsor

Hibernate är ett kraftfullt och allmänt använt objekt-relationellt mappningsramverk (ORM) för Java. Det förenklar databasoperationer genom att mappa Java-objekt till databastabeller och eliminerar mycket av den repetitiva kod som krävs för JDBC-operationer. Hibernate implementerar Java Persistence API (JPA)-specifikationen och erbjuder ytterligare funktioner utöver standarden, inklusive cachning, lazy loading och avancerade frågefunktioner genom HQL (Hibernate Query Language) och Criteria API. Hibernate är designat för att vara databasoberoende, vilket gör det möjligt för utvecklare att byta mellan olika databassystem med minimala kodändringar. Det är ett viktigt verktyg för enterprise Java-applikationer och tillhandahåller effektiva mekanismer för datapersistence och hämtning.

Vår app innehåller noggrant utvalda Hibernate-intervjufrågor med fullständiga svar som effektivt förbereder dig för vilken intervju som helst som kräver kunskap om detta ORM-ramverk. IT Flashcards är inte bara ett verktyg för arbetssökande utan också ett utmärkt sätt att stärka och verifiera dina kunskaper. Regelbunden träning med appen håller dig uppdaterad med de senaste metoderna inom Java data persistence och upprätthåller dina färdigheter i objekt-relationell mappning.

Exempel på Hibernate-flashcards från vår app

Ladda ner vår app från App Store eller Google Play för att få fler gratis flashcards eller prenumerera för tillgång till alla flashcards.

Hibernate

Vad är Hibernate?

**Hibernate** är ett populärt objekt-relationellt mapperingsverktyg (ORM) i Java som tillhandahåller ett ramverk för att mappa Java-domänobjekt till relationella databas-tabeller. Hibernate implementerar JPA (Java Persistence API) specifikationen och lägger till sina egna metoder och annoteringar, vilket avsevärt förenklar arbetet med databaser.

Genom att använda Hibernate kan en utvecklare fokusera på applikationens affärslogik utan att oroa sig för detaljer om dataåtkomst. Hibernate hanterar automatiskt CRUD-åtgärder (skapa, läsa, uppdatera, radera), datatypkonverteringar och hantering av databasanslutningar.

Hibernate är oberoende av specifika databashanteringssystem (DBMS), vilket innebär att det kan fungera med de flesta populära relationella databaser, såsom MySQL, Oracle, PostgreSQL och många andra.

Hibernate

Vilka annoteringar används i Hibernate för att mappa klasser till databastabeller?

I Hibernate används olika annotationer för att mappa klasser till tabeller i databasen. Här är de viktigaste:

1. **@Entity**: Detta är den huvudsakliga annoteringen som vi behöver lägga till klassen för att mappa den till en tabell i databasen. En klass som är annoterad med @Entity känns igen av Hibernate som en entitet.

2. **@Table**: @Table-annoteringen används för att definiera namnet på den tabell till vilken vi vill mappa klassen. Om vi inte använder denna annotering kommer standardtabellnamnet att vara samma som klassnamnet.

3. **@Column**: Denna annotering används för att mappa en klassens egenskap till en kolumn i databasen. Vi kan definiera kolumnnamn, dess längd, om det är unikt, etc.

4. **@Id**: Denna annotering används för att definiera primärnyckeln i tabellen.

5. **@GeneratedValue**: Vanligtvis används tillsammans med @Id, @GeneratedValue-annoteringen används för att specificera strategin för att generera värdet på primärnyckeln.

6. **@OneToMany, @ManyToOne, @ManyToMany, @OneToOne**: Dessa annoteringar används för att definiera typen av relation mellan tabeller.

7. **@JoinColumn**: Denna annotering används för att specificera namnet på den kolumn som används för att joina tabeller i en relation.

8. **@Transient**: Denna annotering används när vi vill specificera vilket fält i klassen som inte ska mappas till en kolumn i tabellen.

Hibernate

Vad är skillnaden mellan @OneToOne och @ManyToOne i Hibernate?

Annoteringarna **@OneToOne** och **@ManyToOne** i Hibernate används för att mappa relationer mellan tabeller i en databas. De används för att representera en-till-en och många-till-en relationer.

Annoteringen **@OneToOne** används när en rad i tabell A kan associeras med endast en rad i tabell B, och en rad i tabell B kan associeras med endast en rad i tabell A. Detta är ett relativt sällsynt fall i verkliga tillämpningar, eftersom en-till-en relationer vanligtvis representeras som en enda tabell.

Annoteringen **@ManyToOne** används när flera rader i tabell A kan associeras med en rad i tabell B, men en rad i tabell B kan associeras med många rader i tabell A. Detta är ett typiskt fall när vi har en "många-till-en" relation, till exempel kan många beställningar tilldelas en kund.

Sammanfattningsvis är den största skillnaden mellan @OneToOne och @ManyToOne att @OneToOne representerar en en-till-en relation, medan @ManyToOne representerar en många-till-en relation.

Hibernate

Vilka är de huvudsakliga skillnaderna mellan @Embeddable och @Embedded?

**@Embeddable** och **@Embedded** är Hibernate-annoteringar som används för att mappa inbäddade objekt.

**@Embeddable** appliceras på en klass som bäddas in av ett annat entity-objekt. Å andra sidan används **@Embedded** på ett fält som är av en annan klasstyp, vilken är markerad som **@Embeddable**.

Skillnaden mellan dem är att **@Embeddable** används i en klass vars instanser vi vill bädda in i en annan klass, medan **@Embedded** används i en klass som bäddar in instanser av en annan klass.

Till exempel:
@Embeddable
public class Address {
    private String street;
    private String city; 
    //.. andra fält
}

I exemplet ovan är klassen **Address** inbäddningsbar – den är markerad med **@Embeddable**.
@Entity
public class User {
    @Id
    private Long id;

    //...

    @Embedded
    private Address shippingAddress;
}

I klassen **User** är fältet **shippingAddress** inbäddat – det är markerat med **@Embedded**.

Sammanfattningsvis används **@Embeddable** för att indikera att en klass kan bäddas in i andra entities, medan **@Embedded** används för att specificera vilka element i en entity som ska bäddas in.

Ladda ner IT Flashcards Nu

Stärk din IT-inlärningsresa med den bästa flashkortsappen. Från grundläggande programmering till att bemästra avancerade teknologier är IT Flashcards ditt pass till IT-excellens. Ladda ner nu och lås upp din potential i dagens konkurrensutsatta tekniska värld.

Hem Blog Sponsorer Kontakt Privacy Policy Terms of Service

Copyright © 2025 IT Flashcards