Scénario :
Envisagez un scénario dans lequel vous devez stocker plusieurs versions de la même saisie de données, représentée par les colonnes id et Version. Le but est de créer une entité capable de dupliquer des entrées avec différentes versions.
Définition de l'entité :
Pour définir une entité avec une clé primaire composite, vous pouvez utiliser le approche suivante :
<code class="java">@Embeddable public class MyKey implements Serializable { @Column(name = "Id", nullable = false) private int id; @Column(name = "Version", nullable = false) private int version; // Getters and setters }</code>
<code class="java">@Entity public class YourEntity { @EmbeddedId private MyKey myKey; @Column(name = "ColumnA") private String columnA; // Getters and setters }</code>
Une autre approche :
Alternativement, l'annotation @IdClass peut être utilisée pour définir une clé primaire composite. Cette approche permet d'utiliser l'annotation @Id directement sur les champs clés.
<code class="java">@Entity @IdClass(MyKey.class) public class YourEntity { @Id private int id; @Id private int version; // Getters and setters }</code>
<code class="java">public class MyKey implements Serializable { private int id; private int version; // Getters and setters }</code>
Duplication d'entités :
Pour dupliquer une entité avec un autre version, créez une nouvelle instance avec le même identifiant mais une valeur de version différente. Cela créera une entrée distincte dans la base de données représentant la nouvelle version.
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!