4. Java EE Grundlagen-Tutorial - Grundlagen der Java Persistence API

Поделиться
HTML-код
  • Опубликовано: 20 окт 2024

Комментарии • 15

  • @ModelMyMind
    @ModelMyMind  3 года назад +3

    Falls Dir das Video gefallen hat, freue ich mich auf Deine Unterstützung mit einem Abonnement!

  • @atrocital
    @atrocital 3 года назад +2

    Höchst interessantes Video für einen Programmierer wie mich. Danke dafür und gerne mehr!

    • @ModelMyMind
      @ModelMyMind  3 года назад

      Das freut mich zu hören. Vielen Dank für dein Feedback!

  • @Ferdii256
    @Ferdii256 2 года назад

    Extrem gute, verständliche und dennoch kompakte Erklärungen, vielen Dank!

    • @ModelMyMind
      @ModelMyMind  2 года назад

      Extrem gutes Feedback. Besten Dank 🌟

  • @heinrichsta2254
    @heinrichsta2254 3 года назад

    Gutes Video! Verwendet man die Strategie Table, wenn man Fremdschlüssel in seiner Tabelle automatisch erzeugen möchte? (Also z.B. wenn bei MVC n zu m Relationen aufgelöst werden und eine Zwischentabelle erstellt wird)

    • @ModelMyMind
      @ModelMyMind  3 года назад +2

      Hallo Heinrich, vielen Dank für deine Frage. Angenommen du würdest, wie du beschreibst eine n:m-Relation haben, dann kannst du deine Objekte mit einer @ManyToMany-Annotation versehen. Zusätzlich gibt es die @JoinTable-Annotation um genau diese Zwischentabelle zu erstellen. Die Fremdschlüssel würden durch die JPA-Implementierung (z.B. Hibernate, EclipseLink,...,) "automatisch" generiert. Nun kommen wir zu den Strategien: Normalerweise ist es ja so, dass die Frameworks wie Hibernate eben die Datenbank-Technologien abstrahieren. Bedeutet, dass wir uns nicht mit den Spezifika einer Datenbank beschäftigen wollen und wir unabhängig von der Konkreten Datenbank(-Technologie) entwickeln wollen. Allerdings ist es nun so, dass bestimmte Aspekte nicht von jedem DBMS unterstützt werden. Bei Oracle kann nach meinem Kenntnisstand nicht die IDENTITY-Strategie verwendet werden. Um also die Abhängigkeiten von der konkreten Technologie zu reduzieren kann die TABLE-Strategie verwendet werden: Dort werden die IDs aus einer erzeugten Tabelle (mit IDs) abgelesen. Diese Strategie ist nach meinem Kenntnisstand nicht empfohlen.

    • @heinrichsta2254
      @heinrichsta2254 3 года назад

      @@ModelMyMind Wow - Danke für die ausführliche Antwort! Super erklärt!

  • @mqtthias
    @mqtthias 2 года назад

    was ist der unterschied zwischen merge und persist

    • @ModelMyMind
      @ModelMyMind  2 года назад

      Grundsätzlich lässt sich folgendes sagen: persist wird verwendet, wenn neue Daten anzulegen sind. Merge dient dem Update von Datensätzen, sprich du liest einen Datensatz aus der Datenbank, manipulierst diesen und speicherst diesen wieder in die DB. Das ist aber nur ein Teil der Wahrheit: Die Hauptfrage ist, was habe ich innerhalb einer Transaktionsklammer (vor dem Commit) mit den Objekten vor? Wenn ich die persist-Methode aufrufe und ein Objekt übergebe z.B. persist(Objekt1) und dann weiterhin Daten manipuliere (z.B. objekt1.setName("neuer Name")) dann wird nachdem persist der neue Name ("neuer Name") berücksichtigt und in der Datenbank gespeichert:
      em.persist(Objekt1)
      objekt1.setName("neuer Name") //Änderung wird in der DB berücksichtigt
      //Ende der Transaktion (trans.commit())
      Beim merge würde diese Änderung nicht mehr berücksichtigt werden:
      merge(objekt1);
      objekt1.setName("neuer Name") //Änderung wird in der DB nicht mehr berücksichtigt
      //Ende der Transaktion (trans.commit())

    • @mqtthias
      @mqtthias 2 года назад

      @@ModelMyMind vielen Dank für die rasche Antwort

  • @danno9907
    @danno9907 3 года назад

    Besteht die Möglichkeit, dass du uns die Folien zum Herunterladen zur Verfügung stellst? Würde mich riesig darüber freuen.

    • @ModelMyMind
      @ModelMyMind  3 года назад

      Hi, schreib mir gerne eine E-Mail, dann könnte ich dir die Folien, sofern ich sie noch auf meiner ext. Festplatte habe, zur Verfügung stellen. Aktuell habe ich die Festplatte nicht bei mir.

    • @Stefan1971HH
      @Stefan1971HH Год назад

      @@ModelMyMind Die Folien hätte ich auch gern. Danke für die Videos!

    • @ModelMyMind
      @ModelMyMind  Год назад

      @@Stefan1971HH ich habe die Folien leider nicht mehr :/