


Welche unterschiedlichen Vererbungszuordnungsstrategien gibt es in Hibernate?
Vererbungszuordnungsstrategien werden in drei Typen unterteilt:
Tabelle für jede Klassenhierarchie
Tabelle für jede konkrete Klasse
-
Tabellen für jede Unterklasse
In diesem Artikel besprechen wir die Tabellenhierarchie für jede Klasse.
Tabelle für jede Klassenhierarchie
Hier erstellen Sie nur eine Tabelle für die Vererbungszuordnung. Der Nachteil dieses Ansatzes besteht darin, dass eine große Anzahl von Nullwerten in der Tabelle gespeichert wird.
@Inheritance(strategy=InheritanceType.SINGLE_TABLE), @DiscriminatorColumn und @DiscriminatorValue sind die in dieser Strategie verwendeten Anmerkungen.
@DiscriminatorColumn wird verwendet, um eine zusätzliche Spalte zu erstellen, die die Hierarchieklasse identifiziert.
Betrachten Sie das folgende Beispiel, um dies zu verstehen -
Implementierungsschritte -
Erstellen Sie Entitätsklassen und verwenden Sie entsprechende Annotationen dafür.
Schreiben Sie eine Konfigurationsdatei für den Ruhezustand und fügen Sie eine Zuordnungsklasse hinzu.
Schreiben Sie Code, um Daten zu erstellen und in Tabellen zu speichern.
1. Entitätsklasse erstellen
Car.java
package com.tutorialspoint; @Entity @Table(name = "car") @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name="category",discriminatorType=DiscriminatorType.STRING) @DiscriminatorValue(value="car") public class Car { @Id @GeneratedValue(strategy=GenerationType.AUTO) private int id; @Column(name = "name") private String name; @Column(name = "color") private String color; //Getters //Setters }
Sports_Car.java
package com.tutorialspoint; import javax.persistence.*; @Entity @DiscriminatorValue("sportscar") public class Sports_Car extends Car{ @Column(name="mileage") private int mileage; @Column(name="cost") private int cost; //Getters //Setters }
Taxi_Car.java
package com.tutorialspoint; import javax.persistence.*; @Entity @DiscriminatorValue("taxicar") public class Taxi_Car extends Car{ @Column(name="farePerKm") private int farePerKm; @Column(name="available") private boolean available; //Getters //Setters }
2. Hibernate-Konfigurationsdatei (hibernate.cfg.xml)
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- JDBC Database connection settings --> <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/demo?useSSL=false</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- JDBC connection pool settings ... using built-in test pool --> <property name="connection.pool_size">4</property> <!-- Echo the SQL to stdout --> <property name="show_sql">true</property> <!-- Select our SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create-drop</property> <!-- name of annotated entity class --> <mapping class="com.tutorialspoint.Car"/> <mapping class="com.tutorialspoint.Sports_Car"/> <mapping class="com.tutorialspoint.Taxi_Car"/> </session-factory> </hibernate-configuration>
3. Code zum Erstellen einer Tabelle und zum Speichern von Daten
package com.tutorialspoint; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class StoreTest { public static void main(String args[]){ SessionFactory sessionFactory = new Configuration() .configure("com/tutorialspoint/hibernate.cfg.xml") .buildSessionFactory(); Session session=sessionFactory.openSession(); Transaction t=session.beginTransaction(); Car c1=new Car(); c1.setName("Mercedes"); c1.setColor("Black"); Sport_Car c2=new Sport_Car(); c2.setName("Porsche"); c2.setColor("Red"); c2.setMileage(20); c2.setCost(5000000); Taxi_Car c3=new Taxi_Car(); c3.setName("Innova"); c3.setColor("White"); c3.setFarePerKm(7); c3.setAvailable(true); session.persist(c1); session.persist(c2); session.persist(c3); t.commit(); session.close(); } }
MySQL-Tabelle
Das obige ist der detaillierte Inhalt vonWelche unterschiedlichen Vererbungszuordnungsstrategien gibt es in Hibernate?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Kernpunkte der Preisstrategie und des Werbedesigns im PHP-Flash-Sale-System In einem Flash-Sale-System sind Preisstrategie und Werbedesign sehr wichtige Bestandteile. Angemessene Preisstrategien und gut gestaltete Werbeaktionen können Benutzer dazu bewegen, an Flash-Sale-Aktivitäten teilzunehmen und das Benutzererlebnis und die Rentabilität des Systems zu verbessern. Im Folgenden werden die wichtigsten Punkte der Preisstrategie und der Gestaltung von Werbeaktivitäten im PHP-Flash-Sale-System ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Kernpunkte bei der Gestaltung der Preisstrategie: Bestimmen Sie den Benchmark-Preis: Im Flash-Sale-System bezieht sich der Benchmark-Preis auf den Preis des Produkts, wenn es normalerweise verkauft wird. existieren

Hibernate in das SpringBoot-Projekt integrieren Vorwort Hibernate ist ein beliebtes ORM-Framework (Object Relational Mapping), das Java-Objekte Datenbanktabellen zuordnen kann, um Persistenzvorgänge zu erleichtern. Im SpringBoot-Projekt kann uns die Integration von Hibernate dabei helfen, Datenbankoperationen einfacher durchzuführen. In diesem Artikel wird die Integration von Hibernate in das SpringBoot-Projekt vorgestellt und entsprechende Beispiele bereitgestellt. 1.Abhängigkeiten einführenFügen Sie die folgenden Abhängigkeiten in die Datei pom.xml ein: org.springframework.bootspring-boot-starter-data-jpam

EXE zu PHP: Eine effektive Strategie zur Funktionserweiterung Mit der Entwicklung des Internets haben immer mehr Anwendungen begonnen, ins Web zu migrieren, um einen breiteren Benutzerzugriff und komfortablere Bedienung zu ermöglichen. Dabei steigt auch sukzessive der Bedarf, ursprünglich als EXE (ausführbare Dateien) ausgeführte Funktionen in PHP-Skripte umzuwandeln. In diesem Artikel wird erläutert, wie EXE in PHP konvertiert wird, um eine Funktionserweiterung zu erreichen, und es werden spezifische Codebeispiele gegeben. Warum EXE in PHP plattformübergreifend konvertieren: PHP ist eine plattformübergreifende Sprache

Inhaltsverzeichnis Astar Dapp Staking-Prinzip Staking-Einnahmen Abbau potenzieller Airdrop-Projekte: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap Staking-Strategie und -Betrieb „AstarDapp Staking“ wurde zu Beginn dieses Jahres auf die V3-Version aktualisiert, und es wurden viele Anpassungen an den Staking-Einnahmen vorgenommen Regeln. Derzeit ist der erste Absteckzyklus beendet und der Unterzyklus „Abstimmung“ des zweiten Absteckzyklus hat gerade erst begonnen. Um die „zusätzlichen Prämien“-Vorteile zu erhalten, müssen Sie diese kritische Phase (voraussichtlich bis zum 26. Juni dauernd, mit weniger als 5 verbleibenden Tagen) bewältigen. Ich werde die Astar-Einnahmen im Detail aufschlüsseln,

Java ist eine objektorientierte Programmiersprache, die im Bereich der Softwareentwicklung weit verbreitet ist. Hibernate ist ein beliebtes Java-Persistenz-Framework, das eine einfache und effiziente Möglichkeit bietet, die Persistenz von Java-Objekten zu verwalten. Während des Entwicklungsprozesses treten jedoch häufig Hibernate-Fehler auf, die dazu führen können, dass das Programm abnormal beendet wird oder instabil wird. Der Umgang mit und die Vermeidung von Hibernate-Fehlern ist zu einer Fähigkeit geworden, die Java-Entwickler beherrschen müssen. In diesem Artikel werden einige gängige Hib vorgestellt

Im Jahr 2010 begann ich, offiziell mit Linux in Kontakt zu kommen. Die Einstiegsdistribution war Ubuntu 10.10 und später wurde auf Ubunu 11.04 umgestellt. In dieser Zeit habe ich auch viele andere Mainstream-Distributionen ausprobiert. Nachdem ich das Labor betreten hatte, begann ich, CentOS5 zu verwenden, dann CentOS6 und jetzt hat es sich zu CentOS7 weiterentwickelt. Ich benutze Linux seit vier Jahren. Die ersten drei Jahre habe ich damit verbracht, herumzuspielen, viel Zeit zu verschwenden und viel Erfahrung und Lektionen zu sammeln. Vielleicht bin ich jetzt wirklich alt und möchte mich nicht mehr damit befassen. Ich hoffe nur, dass ich ein System nach der Konfiguration weiterhin verwenden kann. Warum diesen Artikel schreiben/lesen? Bei der Verwendung von Linux, insbesondere CentOS, werden Sie auf einige Fallstricke stoßen oder auf einige Dinge, die Menschen mit Mysophobie nicht tolerieren können: Software aus offiziellen Quellen

Die Unterschiede zwischen Hibernate und Mybatis: 1. Implementierungsmethode; 3. Vergleich der Objektverwaltung; Detaillierte Einführung: 1. Implementierungsmethode: Hibernate ist eine vollständige Objekt-/Relational-Mapping-Lösung, die Objekte Datenbanktabellen zuordnet, während MyBatis von Entwicklern das manuelle Schreiben von SQL-Anweisungen und ResultMap erfordert. 2. Leistung: Hibernate ist in Bezug auf die Entwicklungsgeschwindigkeit schneller MyBatis, weil Hibernate die DAO-Ebene usw. vereinfacht.

Hibernate ist ein hervorragendes ORM-Framework, das den Datenzugriff zwischen Java-Anwendungen und relationalen Datenbanken vereinfacht. In Hibernate können wir Eins-zu-Viele- und Viele-zu-Viele-Beziehungen verwenden, um komplexe Datenmodelle zu verarbeiten. Die Eins-zu-Viele-Beziehung von Hibernate In Hibernate bedeutet eine Eins-zu-Viele-Beziehung, dass eine Entitätsklasse mehreren anderen Entitätsklassen entspricht. Beispielsweise kann eine Bestellung mehreren Bestellpositionen (OrderItem) entsprechen, und ein Benutzer (User) kann mehreren Bestellungen (Order) entsprechen. Um eine Eins-zu-Viele-Beziehung in Hibernate zu implementieren, müssen Sie in der zu speichernden Entitätsklasse ein Sammlungsattribut definieren
