Hibernate:Relation un-à-un unidirectionnelle

De WIKI.minetti.org
Révision de 7 avril 2016 à 17:19 par Jp (discussion | contributions) (Page créée avec « == But == Lier deux objets '''A''' et '''B''': * L'objet '''A''' ne comporte aucun lien vers l'objet '''B''', mais chaque objet '''A''' est lié à un objet '''B'''; * L'... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

But

Lier deux objets A et B:

  • L'objet A ne comporte aucun lien vers l'objet B, mais chaque objet A est lié à un objet B;
  • L'objet B est lié à un objet A.

Pour obtenir une relation un-à-un, les objets A et B auront les mêmes identifiants.

Diagramme de classe

TODO

Tables

TODO

Annotations

Relation de la classe B:

@Id
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "ID", nullable = false)
@ForeignKey(name = "FK_B_A")
private A relationA;

ou bien:

@Id
private Integer id;

@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn()
@MapsId()
private A relationA;