Comparaison deux List d'EntityClass
Bonjour à tous!
J'utilise JSF,EJB3,JPA,et comme IDE NetBeans.
**********
Énoncé: :)
il y'a deux base de donnée BDD1 et BDD2, la BDD2 prend toutes ces données de la BDD1; et cette opération se fait chaque semaine;
donc pour ne pas recopier des article qui ont déjà été copier les semaines passés(article = <Mohamed, Zidane, 04/05/72, Alger>)
ont copiera pour chaque table, uniquement les articles non existant sur la BDD2, pour gagner du temps.
**********
Solution Théorique Proposée: (je n'ai pas pu la mettre en pratique) :aie:
vu le grand nombre de table a copier, il est préférable de faire une seule classe on l’appellera <Comparer> et dans cette dernière on aura une méthode <renvoiList> qui renvoi une liste d'articles qui sont dans une table de la BDD1 et ne se trouve pas dans la table équivalente de la BDD2;
Exemple: il y'a deux tables dans la BDD1 <CLIENT1> et <COMMANDE1> et deux tables équivalentes dans la BDD2 <CLIENT2> et <COMMANDE2>.
dans le session bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public List <CLIENT2> getListClient() {
Query q = em.createNamedQuery("Client1.findAll");
Query qq = em.createNamedQuery("Client2.findAll");
//************************************
Comparer <Client2> comparer= new Comparer<Client2>(q.getResultList(), qq.getResultList());
//*************************************
return comparer.renvoiList();
} |
la dernière ligne envoi une liste dont on a besoin.
**********
Problème: :cry:
dans la classe Comparer, je ne sais pas comment je pourrais accéder aux identifiants, car je veux faire une classe générale pour toutes les tables, puisque j'ai essayé avec <equals> cela ne voulait pas marcher:
Code:
if(list1.get(i).equals(list2.get(j)))
**********
Merci d'avance pour votre aide, car je suis avec se problème depuis plus de 15 jours;
Cordialement.