Besoin aide Algo Hibernate Struts
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Besoin aide Algo Hibernate Struts



  1. #1
    MANTA..

    Besoin aide Algo Hibernate Struts


    ------

    Bonjour,

    Je poste ce message car j'aurais besoin d'un conseil.

    En fait j'ai une table Utilisateurs et une Table UtilisateursMails (1 utilisateur peut avoir plusieurs adresses mails).

    Dans l'interface que je dois développer, l'utilisateur dois pouvoir sélectionner ses adresses mails parmis une liste (en les cochants via une checkBox).

    Pour la création c'est simple je n'ai qu'a ajouter les adresses mails qu'il a coché dans la table , mais pour l'edition je ne sais pas quoi faire.

    Le plus simple serais de supprimer toutes les adresses mails de la table UtilisateursMail et de les remplacer par celles qui ont été coché lors de l'édition mais c'est asser moche et on risque d'insérer des données dans la table même quand l'utilisateur n'a fait aucune modification au niveau des mails.

    Le mieux serait d'ajouter uniquement ce qui a été nouvellement coché et supprimer ce qui a été décoché

    Est-ce que vous avez des idées?

    Je n'ai pas encore créer la table UtilisateursMails donc si vous avez des idées pour les champs (genre mettre une clé unique ou juste idUtilisateur, mail comme clé primaire) je suis preneur

    -----

  2. #2
    Bluedeep

    Re : Besoin aide Algo Hibernate Struts

    Bonjour

    Je ne connais Hibernate mais je suppose qu'il ne fonctionne pas très différement d'Entity Framework (ou que n'importe quel autre ORM).
    Partant de là, je ne vois pas très bien où se situe votre problème, à moins qu'il y ait une imprécision de design de la table UtilisateursMails , imprécision consostant à ne pas avoir de PK technique et d'utiliser la donnée métier (ici l'adresse mail) comme PK. Dans ce cas, il n'y a pas vraiment de bonne solution (sauf, à la rigueur, à avoir des Timestamp/Rowversion sur les tables, mais j'ignore si Hibernate sait le gérer comme j'ignore le SGBD sous-jacent que vous utilisez).

  3. #3
    MANTA..

    Re : Besoin aide Algo Hibernate Struts

    Merci pour ton aide, je pense avoir trouvé

    Pour la suppression, avec la liste des adresses mails cochées je vais faire un "delete from UtilisateursMails where idUtilisateur = ? and mail not in (...)"

    Et pour l'ajout je vais récupérer la liste des adresses du user en bdd sous format List<String> et pour chaque adresse cochée je vais faire un :
    Code:
    if(!mailsFromBdd.contains(mailcoche)) {ajout en bdd}
    Pour la table MailUtilisateurs je vais faire un classic :

    idMailUtilisateurs Int primary key
    idUtilisateur INT
    mail VARCHAR(70)
    Dernière modification par MANTA.. ; 01/07/2015 à 16h35.

  4. #4
    Arzhur

    Re : Besoin aide Algo Hibernate Struts

    Bonjour,


    Le plus simple serais de supprimer toutes les adresses mails de la table UtilisateursMail et de les remplacer par celles qui ont été coché lors de l'édition mais c'est asser moche et on risque d'insérer des données dans la table même quand l'utilisateur n'a fait aucune modification au niveau des mails.
    Pas expert Hibernate non plus, mais je trouve ca bizarre qu'Hibernate ne sache pas le faire tout seul...ca sert un peu à ça : Tu récupères ton Utilisateur via la session Hibernate, tu mets à jour sa liste de mails et tu enregistres (je sais si c'est le bon terme) la session.

  5. A voir en vidéo sur Futura
  6. #5
    Bluedeep

    Re : Besoin aide Algo Hibernate Struts

    Citation Envoyé par MANTA.. Voir le message
    Merci pour ton aide, je pense avoir trouvé

    Pour la suppression, avec la liste des adresses mails cochées je vais faire un "delete from UtilisateursMails where idUtilisateur = ? and mail not in (...)"
    Je ne comprends pas ta réponse : si tu utilises un ORM, il n'y pas de raison de faire des requêtes SQL directement (sauf pour des optims particulières). Accessoirement les requêtes NOT IN (...) sont particuliérement peu performantes, a fortiori sur des champs non clefs d'index.

    Pour la table MailUtilisateurs je vais faire un classic :

    idMailUtilisateurs Int primary key
    idUtilisateur INT
    mail VARCHAR(70)
    Pourquoi pas. Une autre solution eut été de créer une table d'adresse mail et une table de relation Utilisateurs-adresse (même si ici la relation m-m ne devrait pas se présenter).
    Quel SGBD utilises tu ?
    Dernière modification par Bluedeep ; 02/07/2015 à 10h55.

Discussions similaires

  1. Problème du plus court chemin ( Algo de dijkstra, algo A*)
    Par invite5a18c7d1 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 12/06/2010, 10h25
  2. Aide:Petit Algo en Maple
    Par invitedc3dbc26 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 18/01/2010, 09h11
  3. Aide pour ecrire un algo
    Par invite35f46815 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 14/01/2010, 19h59
  4. aide algo
    Par invitec2ca608a dans le forum Électronique
    Réponses: 0
    Dernier message: 30/05/2009, 21h26
  5. besoin d'aide a propos d'un petit algo
    Par invite9f37bb98 dans le forum Logiciel - Software - Open Source
    Réponses: 16
    Dernier message: 02/09/2007, 17h17