


Quelles sont les différentes stratégies de mappage d'héritage dans Hibernate ?
Les stratégies de cartographie des héritages sont divisées en trois types -
Tableau pour chaque hiérarchie de classe
Tableau pour chaque classe concrète
-
Tableaux pour chaque sous-classe
Dans cet article, nous discuterons de la hiérarchie des tableaux pour chaque classe.
Tableau pour chaque hiérarchie de classes
Ici, créez une seule table pour le mappage d'héritage. L'inconvénient de cette approche est qu'un grand nombre de valeurs nulles sont stockées dans la table.
@Inheritance(strategy=InheritanceType.SINGLE_TABLE), @DiscriminatorColumn et @DiscriminatorValue sont les annotations utilisées dans cette stratégie.
@DiscriminatorColumn est utilisé pour créer une colonne supplémentaire qui identifie la classe hiérarchique.
Considérez l'exemple suivant pour comprendre cela -
Étapes de mise en œuvre -
Créez des classes d'entités et utilisez les annotations appropriées pour elles.
Écrivez le fichier de configuration d'hibernation et ajoutez une classe de mappage.
Écrivez du code pour créer des données et les stocker dans des tableaux.
1. Créer une classe d'entité
Voiture.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. Fichier de configuration Hibernate (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 pour créer une table et stocker des données
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(); } }
Table MySQL
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Points clés de la stratégie de prix et de la conception des promotions dans le système de vente flash PHP Dans un système de vente flash, la stratégie de prix et la conception des promotions sont des éléments très importants. Des stratégies de prix raisonnables et des promotions bien conçues peuvent inciter les utilisateurs à participer à des activités de vente flash et améliorer l'expérience utilisateur et la rentabilité du système. Ce qui suit présentera en détail les points clés de la stratégie de prix et de la conception des activités promotionnelles dans le système de vente flash PHP, et fournira des exemples de code spécifiques. 1. Points clés dans la conception d’une stratégie de prix : Déterminer le prix de référence : Dans le système de vente flash, le prix de référence fait référence au prix du produit lorsqu’il est normalement vendu. exister

Intégration d'Hibernate dans le projet SpringBoot Préface Hibernate est un framework ORM (Object Relational Mapping) populaire qui peut mapper des objets Java à des tables de base de données pour faciliter les opérations de persistance. Dans le projet SpringBoot, l'intégration d'Hibernate peut nous aider à effectuer plus facilement des opérations de base de données. Cet article présentera comment intégrer Hibernate dans le projet SpringBoot et fournira des exemples correspondants. 1.Introduire les dépendancesIntroduire les dépendances suivantes dans le fichier pom.xml : org.springframework.bootspring-boot-starter-data-jpam

EXE vers PHP : une stratégie efficace pour étendre les fonctions. Avec le développement d'Internet, de plus en plus d'applications ont commencé à migrer vers le Web pour obtenir un accès utilisateur plus large et des opérations plus pratiques. Dans ce processus, la demande de conversion de fonctions initialement exécutées sous forme de fichiers EXE (fichiers exécutables) en scripts PHP augmente également progressivement. Cet article explique comment convertir EXE en PHP pour réaliser une extension fonctionnelle et donne des exemples de code spécifiques. Pourquoi convertir EXE en PHP multiplateforme : PHP est un langage multiplateforme

Table des matières Principe de jalonnement d'Astar Dapp Revenus de jalonnement Démantèlement des projets potentiels de largage aérien : AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap Stratégie et fonctionnement du jalonnement "AstarDapp Staking" a été mis à niveau vers la version V3 au début de cette année, et de nombreux ajustements ont été apportés aux revenus de jalonnement règles. À l'heure actuelle, le premier cycle de jalonnement est terminé et le sous-cycle de « vote » du deuxième cycle de jalonnement vient de commencer. Pour bénéficier des avantages « récompense supplémentaire », vous devez franchir cette étape critique (qui devrait durer jusqu'au 26 juin, soit moins de 5 jours). Je vais détailler les revenus du staking Astar,

Java est un langage de programmation orienté objet largement utilisé dans le domaine du développement de logiciels. Hibernate est un framework de persistance Java populaire qui fournit un moyen simple et efficace de gérer la persistance des objets Java. Cependant, des erreurs Hibernate sont souvent rencontrées au cours du processus de développement, et ces erreurs peuvent entraîner une fin anormale du programme ou devenir instable. Comment gérer et éviter les erreurs Hibernate est devenu une compétence que les développeurs Java doivent maîtriser. Cet article présentera quelques Hib courants

J'ai commencé à entrer officiellement en contact avec Linux en 2010. La distribution d'entrée de gamme était Ubuntu10.10, puis je suis passée à Ubunu11.04. Au cours de cette période, j'ai également essayé de nombreuses autres distributions grand public. Après mon entrée au laboratoire, j'ai commencé à utiliser CentOS5, puis CentOS6, et maintenant j'ai évolué vers CentOS7. J'utilise Linux depuis quatre ans. Les trois premières années ont été consacrées à déconner, à perdre beaucoup de temps et à acquérir beaucoup d'expérience et de leçons. Peut-être que je suis vraiment vieux maintenant et que je ne veux plus m'en soucier. J'espère juste qu'après avoir configuré un système, je pourrai continuer à l'utiliser. Pourquoi écrire/lire cet article ? Lorsque vous utilisez Linux, en particulier CentOS, vous rencontrerez des pièges, ou des choses que les personnes atteintes de mysophobie ne peuvent tolérer : des logiciels provenant de sources officielles

Les différences entre hibernate et mybatis : 1. Méthode de mise en œuvre ; 2. Performances 3. Comparaison de la gestion des objets ; Introduction détaillée : 1. Méthode d'implémentation, Hibernate est une solution complète de mappage objet/relationnel qui mappe les objets aux tables de base de données, tandis que MyBatis oblige les développeurs à écrire manuellement des instructions SQL et ResultMap 2. Performances, Hibernate est possible en termes de vitesse de développement Plus rapide que ; MyBatis car Hibernate simplifie la couche DAO et ainsi de suite.

Hibernate un-à-plusieurs et plusieurs-à-plusieurs d'Hibernate est un excellent framework ORM qui simplifie l'accès aux données entre les applications Java et les bases de données relationnelles. Dans Hibernate, nous pouvons utiliser des relations un-à-plusieurs et plusieurs-à-plusieurs pour gérer des modèles de données complexes. Le un-à-plusieurs d'Hibernate Dans Hibernate, une relation un-à-plusieurs signifie qu'une classe d'entité correspond à plusieurs autres classes d'entités. Par exemple, une commande peut correspondre à plusieurs articles de commande (OrderItem), et un utilisateur (User) peut correspondre à plusieurs commandes (Order). Pour implémenter une relation un-à-plusieurs dans Hibernate, vous devez définir un attribut de collection dans la classe d'entité à stocker
