Je objet dans la base de données avec des valeurs comme suit:avec la mise à jour record dans la base de données à l'aide JPA
- id = 1
- name = "john"
- chargeid = 6
J'utilise l'instruction de fusion pour mettre à jour le code em.merge(obj)
Quand je vois la requête générée par JPA j'ai trouvé que dans la requête de mise à jour seulement les champs qui ont de nouvelles valeurs ou non sont mis à jour.
J'ai vérifié le haricot qui est associé à cet objet et constaté qu'il n'y a pas d'annotations associées à chargid
Maintenant, lorsque je tente de mettre à jour cette Assemblée parlementaire paritaire, il se correctement mis à jour si je ne mets pas à anyvalue nul. Maintenant, si je mets chargeid = null et que j'essaie de le maintenir dans db, doeskin est changé en null dans db mais il retourne la valeur précédente.
Voici les détails 1 ont enregistrement dans la base de données comme suit
ID Name chargeID
1 john 5
Maintenant, si je définir les valeurs des objets comme
obj.setID(1),
obj.setName("johnNew")
obj.setchargID(6)
entinymanager.merge(obj)
puis enregistrement est mis à jour comme suit, ce qui est bien
Maintenant, si je veux mettre en charge le zéro, j'utilise le code 0123.obj.setId(1)
obj.setName('XYZ')
obj.setChargeId(null); // i want to update it as null.
Maintenant, le dossier sera mis à jour comme suit
id name chargeid
1 XYZ 6 //name is updated to XYZ,but chargeid is not updated to null, how come?
i want to set chargeid to null.
@akp post comment vous effectuez ce scénario (code simple), s'il vous plaît –
@arthur: merci pour la déclaration replying.I utilisation de fusion pour mettre à jour l'enregistrement – akp
Afficher certains (pseudo) pour expliquer, je ne comprends pas la description du problème. –