Bonjour,
J'ai un problème avec un programme. Je travaille en java avec hibernate/jpa en JavaFX et j'utilise une base de données MySQL. Jusqu'à présent, j'utilisais une connexion locale à la base de données mais j'aimerais changer cette connexion par une connexion externe sur le cloud (un serveur MySQL chez un hébergeur).
Mon problème est que c'est maintenant très lent lorsque je valide ma transaction car lorsque je valide une modification sur un seul objet, hibernate fait un UPDATE MySQL pour chacun des objets de ma liste (or je n'ai modifié qu'un seul objet de ma liste). J'aimerais donc avoir uniquement un seul UPDATE réel pour cet objet sur la base de données.
Normalement, si j'obtiens une liste d'objets de ma base de données, que je ne modifie qu'un seul objet et que je valide la liste, je ne devrais avoir qu'un seul UPDATE de MySQL car je n'ai qu'un seul objet de modifié mais ça ne fonctionne pas et je ne sais vraiment pas pourquoi.
De plus, cela se produit uniquement lors de mon premier commit et ensuite ça fonctionne car il n'y a effectivement qu'un seul UPDATE.
Le problème vient de l'un de ces quatre fichiers car c'est les seuls endroits où j'utilise des objets de type "Produit" :
- MappingProduit : Seul fichier où j'utilise réellement "Produit"
- Produit.java : Code de ma classe métier "Produit"
- Session.java : Code de Session.java
- ProduitDAO : Le DAO pour la gestion de mes produits
Si quelqu'un veut bien prendre un peu de temps pour résoudre ce problème, je peux sans autre lui donner une petite rémunération (une centaine d'euros).
Le projet peut être téléchargé depuis gitlab : https://gitlab.com/normandparatte/stockmanager/
Il est actuellement connecté sur une base MySQL de test sur le cloud, vous pouvez donc voir le problème en live.
Merci d'avance si vous avez des idées pour m'aider !
Partager