L’annotation Hibernate @NotFound

Hibernate

L’annotation @NotFound est utilisée pour spécifier le comportement d’Hibernate lorsque l’entité parente d’une relation de clé étrangère (FK : Foreign Key) contient une FK qui ne peut pas être résolue, c’est-à-dire qu’elle ne correspond à aucune entité enfant dans la base de données.

Lorsqu’une telle FK non résolue est rencontrée, Hibernate peut soit renvoyer une exception ObjectNotFoundException, soit retourner une valeur null pour la propriété associée. L’annotation @NotFound permet de spécifier une de ces deux options pour chaque relation de FK qui peut être non résolue.

L’annotation @NotFound peut être utilisée sur une propriété d’une entité qui représente une relation de FK, et elle prend en charge les arguments suivants :

  • action: spécifie l’action à effectuer lorsque la FK n’est pas résolue. Les valeurs possibles sont IGNORE (ignorer la FK non résolue et retourner null), EXCEPTION (lancer une exception ObjectNotFoundException), DEFAULT (utiliser le comportement par défaut de Hibernate, qui est de lancer une exception).
  • type: spécifie le type d’exception à lancer lorsque l’action EXCEPTION est choisie. Par défaut, ObjectNotFoundException est utilisé.

Voici un exemple d’utilisation de l’annotation @NotFound pour ignorer une FK non résolue :

@ManyToOne
@JoinColumn(name = "department_id")
@NotFound(action = NotFoundAction.IGNORE)
private Department department;


Dans cet exemple, la propriété department représente une relation de FK vers l’entité Department. L’annotation @NotFound spécifie que si la FK department_id n’est pas résolue, Hibernate doit ignorer cette FK et retourner null pour la propriété department.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut
%d blogueurs aiment cette page :