Bonjour,
est ce quelqu'un à une explication de l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Null value was assigned to a property of primitive type setter of package.table.attribut
Bonjour,
est ce quelqu'un à une explication de l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Null value was assigned to a property of primitive type setter of package.table.attribut
Il faudrait voir ton fichier de mapping de attribut mais c'est une erreur du genre : tu as un attribut dans ta classe qui est un int et dans la colonne de ta base de données tu as null.
En fait le type de attribut est un boolean,lorsque j'ai voulu le déclarer dans mon bean,j'ai eu deux choix boolean et Boolean je crois que le problème vient de ceci,j'arrive pas encore à distinguer entre boolean et Boolean !
Salut,
Vu que tu ne nous donne aucun détail sur ton code, on va devoir jouer aux devins![]()
Je dirais donc que tu as déclaré l'un des champs des entités comme étant de type boolean (qui est appelé type primitif, tout comme int, long, double, float, char, byte, à l'inverse des types objets, comme String par exemple). Un type primitif n'accepte pas la valeur null.
Sauf que dans ton cas, cet attribut n'existait pas dès le départ : Hibernate avait déjà généré les tables puis tu as ajouté ce champ. Hibernate a donc mis à jour le schéma de la base de données, en ajoutant la colonne correspondante. toutes les lignes qui existaient déjà (dans la table en question) se sont vue attribuer NULL comme valeur pour cette nouvelle colonne).
Si ensuite Hibernate essais de mapper l'une de ces lignes à un de tes objets, tu l'as deviné, il essait d'affecter null à un type primitif (boolean)Erreur.
Une solution serait de modifer le champ en question pour le rendre de type Boolean, la version objet de boolean, qui accepte entre autres la valeur null.
Mais ce serait une fuite vers l'avant plutôt qu'une solution réelle, car un champ boolean est censé être soit vrai soit faux, le null n'a presque jamais de sens ici. De plus, tu risque d'avoir plein de NullPointerException ailleurs dans ton code.
La solution effective serait de modifier les lignes existantes pour leur affecter une valeur booléenne (vrai ou faux). A toi de voir ce qu'Hibernate a choisi comme représentation (un INT(1) peut être ?) et d'affecter les bonnes valeurs (1 ou 0 par exemple).
Si c'est pas ça, bah tu n'as qu'à nous montrer ce qu'il faut : déclaration de l'entité, son mapping, le schéma de la table correspondante dans la BD + quelques lignes de cette table.
Merci le problème c'était que je dois changer le type boolean par Boolean
Partager