Hibernate ne nous impose pas d’utiliser un type objet pour nos clés primaires (d’ailleurs celle-ci est optionnelle), cependant la doc officielle nous recommande vivement d’utiliser les types références (les objets) pour plusieurs raisons.
les types primitifs ont des valeurs littérales par défauts ainsi par ex une variable int non initialisée aura « 0 » (zéro) comme valeur par défaut.
D’un point de vue fonctionnelle cette valeur peut avoir une signification.Avec un type primitif hibernate n’a aucune façon de déterminer si il s’agit d’une nouvelle entité ou non, ce qui pourrait entrainer des comportements inattendus et être à l’origine de divers bugs.
Avec un type référence cette ambiguïté est levée puisque la valeur par défaut est null.
petit billet rapide, simple et concis 🙂
Et vous qu’en pensez vous ? voyez vous d’autres avantages d’utiliser un type référence plutôt qu’un type primitif.