


Funktionsprinzip der Hibernate-Konfigurationsdatei und zwei Designs: Eins-zu-Viele und Viele-zu-Viele
„One-to-many“ ist die häufigste Mapping-Beziehung, die einfach der Beziehung zwischen Verbrauchern und Bestellungen ähnelt. Eins-zu-viele: Aus der Sicht des Verbrauchers kann ein Verbraucher mehrere Bestellungen aufgeben, was eins-zu-viele ist. Viele-zu-eins: Aus der Bestellperspektive können mehrere Bestellungen einem Verbraucher entsprechen, also viele-zu-eins. Eine kurze persönliche Zusammenfassung.
Eins zu viele
Entitätsklasse
一: private Set<LinkMan> linkMans; // 表达一对多关系 多: private Customer customer ; //表达多对一关系
Konfigurationsdatei
Eins:
<!-- 集合,一对多关系,在配置文件中配置 --> <!-- name属性: 集合属性名 column属性: 外键列名 class属性: 与我关联的对象完整类名 --> <!-- 级联操作: cascade属性 save-update: 级联保存更新 delete: 级联删除 all: save-update+delete 级联操作: 简化操作.目的就是为了少些两行代码. --> <!-- inverse属性: 配置关系是否维护. true: customer不维护关系 false(默认值): customer维护关系 inverse属性: 性能优化.提高关系维护的性能. 原则: 无论怎么放弃,总有一方必须要维护关系. 一对多关系中: 一的一方放弃.也只能一的一方放弃.多的一方不能放弃. --> <set name="linkMens" inverse="true" cascade="delete"> <key column="lkm_cust_id" ></key> <one-to-many class="LinkMan" /> </set>
Viele:
<!-- 多对一 --> <!-- name属性: 引用属性名 column属性: 外键列名 class属性: 与我关联的对象完整类名 --> <!-- 级联操作: cascade属性 save-update: 级联保存更新 delete: 级联删除 all: save-update+delete 级联操作: 简化操作.目的就是为了少些两行代码. --> <!-- 多的一方: 不能放弃维护关系的.外键字段就在多的一方. --> <many-to-one name="customer" column="lkm_cust_id" class="Customer"></many-to-one>
Viele-zu-viele
Entitätsklasse
多:private Set<User> users; // 表达多对多关系 多:private Set<Role> roles; // 表达多对多关系
Konfigurationsdatei
Viele:
<!-- 多对多关系表达 --> <!-- name: 集合属性名 table: 配置中间表名 key column: 外键,别人引用"我"的外键列名 many-to-many class: 我与哪个类是多对多关系 column: 外键.我引用别人的外键列名 --> <!-- 使用inverse属性 true: 放弃维护外键关系 false(默认值):维护关系 结论: 将来在开发中,如果遇到多对多关系.一定要选择一方放弃维护关系. 一般谁来放弃要看业务方向. 例如录入员工时,需要为员工指定所属角色. 那么业务方向就是由员工维护角色. 角色不需要维护与员工关系.角色放弃维护 --> <set name="users" table="sys_user_role" inverse="true" > <key column="role_id" ></key> <many-to-many class="User" column="user_id" ></many-to-many> </set>
Viele:
<!-- 多对多关系表达 --> <!-- name: 集合属性名 table: 配置中间表名 key column: 外键,别人引用"我"的外键列名 many-to-many class: 我与哪个类是多对多关系 column: 外键.我引用别人的外键列名 --> <!-- cascade级联操作: save-update: 级联保存更新 delete: 级联删除 all: 级联保存更新+级联删除 结论: cascade简化代码书写.该属性使不使用无所谓. 建议要用只用save-update. 如果使用delete操作太过危险.尤其在多对多中.不建议使用. --> <set name="roles" table="sys_user_role" cascade="save-update" > <key column="user_id" ></key> <many-to-many class="Role" column="role_id" ></many-to-many> </set>
Verwandte Empfehlungen:
Mehrere Formen von Viele-zu-Viele-Beziehungen im Datenbankdesign_MySQL
Detaillierte Konfiguration und Verwaltung mehrerer MySQL-Instanzen
Das obige ist der detaillierte Inhalt vonFunktionsprinzip der Hibernate-Konfigurationsdatei und zwei Designs: Eins-zu-Viele und Viele-zu-Viele. 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



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
