Maison > Java > javaDidacticiel > Hibernate JPA peut-il utiliser des séquences pour les colonnes non ID ?

Hibernate JPA peut-il utiliser des séquences pour les colonnes non ID ?

DDD
Libérer: 2024-11-30 20:44:22
original
719 Les gens l'ont consulté

Can Hibernate JPA Use Sequences for Non-ID Columns?

Séquence Hibernate JPA pour la colonne non-identifiant

Question :

Est-il possible de exploiter une séquence de base de données pour générer des valeurs pour une colonne de table qui n'est pas désignée comme identifiant ou composant d'un identifiant composite à l'aide d'Hibernate JPA ?

Réponse :

Hibernate JPA ne prend pas en charge la génération automatisée de valeur pour les propriétés qui ne sont pas désignées comme identifiant. L'annotation @GeneratedValue est exclusivement utilisée en conjonction avec @Id pour créer des valeurs à incrémentation automatique.

Solution de contournement :

Pour contourner cette limitation, envisagez de créer une entité distincte avec un identifiant généré, tel que :

@Entity
public class GeneralSequenceNumber {
  @Id
  @GeneratedValue(...)
  private Long number;
}

@Entity 
public class MyEntity {
  @Id ..
  private Long id;

  @OneToOne(...)
  private GeneralSequnceNumber myVal;
}
Copier après la connexion

Cette approche consiste à établir une relation biunivoque entre l'entité principale et l'entité séquence. En exploitant cette entité distincte, Hibernate peut générer la valeur de séquence unique qui peut être attribuée à la propriété souhaitée dans l'entité principale.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal