-
Cacher une erreur.
Bonjour !
J'ai une page de code avec une erreur, mais qui n'en est pas vraiment une ( erreur selon JPA, mais fonctionne avec Hibernate ), comment puis-je faire pour ne pas faire apparaitre cette erreur ? ( a la maniere de @SuppressWarning par exemple )
-
Ca serait bien de savoir de quel type d'erreur il s'agit.
Si c'est une exception, il suffit de la catcher. Mais log cette erreur au minimum, car ce n'est pas une bonne pratique de cacher une erreur si on est pas certain que ce n'en est pas une.
-
Dans un mapping avec annotations, j'ai des relations @ManyToOne dans une classe mappée par @Embeddable, et selon JPA 1.0, cela est une erreur ( souligné en rouge et la classe apparait comme comportant une erreur ) car une classe mappée par @Embeddable ne peut contenir que les annotations "de base" (@Column par exemple ), mais Hibernate gère ces annotations. J'ai donc une erreur qui apparait dans mon code, mais qui n'en est pas une en réalité.
-
Ce ne serait pas un erreur si tu travaillais directement en hibernate.
Mais mélanger deux API comme ça est essentiellement dangereux.
Donc à toi de la corriger vu qu'il s'agit d'une erreur de Syntaxe.
JPA n'est pas Hibernate, JPA est un dénominateur commun entre plusieurs API d'ORM dont Hibernate, et qui se sert d'un backend Hibernate pour réaliser ses opérations qui a été créé opur spécifier un référentiel ORM commun pour aider les développeur à ne pas s'enfermer dans une technologie.
Si tu veux utiliser du spécifique Hibernate (donc en dehors de la spec java de base), utilises directement Hibernate.
Sinon il te faut te limiter aux possibilités de JPA point barre (l'avantage c'est qu'ensuite tu pourras changer de backend sans le moindre problème, ton code sera largement plus portable entre diverses tecnhos & ainsi de suite).
-
Keo,
+1 sur sinok.
"Cacher" une erreur, quel que soit le moyen utilisé n'est pas, n'a jamais été, ne sera jamais une bonne idée : il faut refaire le code sans erreur. :)
-
Ok, merci pour les infos/conseils, je vais changer tout ca alors :)