Création et gestion d'une clé primaire composite dans JPA
Pour gérer les versions de données au sein d'une entité, la création d'une clé primaire composite permet la duplication de entrées basées sur les numéros de version. Considérez l'implémentation suivante :
@Entity public class YourEntity { @EmbeddedId private MyKey id; private String columnA; // Getters and setters omitted for brevity } @Embeddable public class MyKey implements Serializable { private int id; private int version; // Getters and setters omitted for brevity }
En utilisant cette approche, les champs id et version forment la clé primaire composite. Cela permet la création de plusieurs versions pour chaque enregistrement de données :
Entity 1: id = 1, version = 0, columnA = "Data Entry 1" Entity 2: id = 1, version = 1, columnA = "Updated Data Entry 1"
Une méthode alternative pour définir une clé primaire composite consiste à utiliser l'annotation @IdClass :
@Entity @IdClass(MyKey.class) public class YourEntity { @Id private int id; @Id private int version; private String columnA; // Getters and setters omitted for brevity } public class MyKey implements Serializable { private int id; private int version; // Getters and setters omitted for brevity }
Dans ce cas, la classe MyKey sert de classe de clé primaire, et les champs id et version qu'elle contient sont tous deux annotés avec @Id.
En utilisant les annotations @EmbeddedId ou @IdClass, JPA peut gérer efficacement les clés primaires composites, faciliter le stockage et la récupération des versions de données au sein d'une seule entité.
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!