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
792 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!

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