⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testrelationsbipersistantes.java

📁 用于GIS(全球地理系统)的分析和处理的代码。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                

        System.out.println("--");
        System.out.println("vidage sur a1 des objets en relation");
        System.out.println("destruction de la relation sur b3");
        a1.emptyListe_objetsBBB_bi1N();
        b3.setObjetAAA_bi1N(null);
        System.out.println("objet BBB en relation avec a1 (vide) : ");
        affiche(a1.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a2 (vide) : ");
        affiche(a2.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a3 (vide) : ");
        affiche(a3.getListe_objetsBBB_bi1N());
        System.out.println("objet AAA en relation avec b1 (null) : "+b1.getObjetAAA_bi1N());
        System.out.println("objet AAA en relation avec b2 (null) : "+b2.getObjetAAA_bi1N());
        System.out.println("objet AAA en relation avec b3 (null) : "+b3.getObjetAAA_bi1N());
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                

        System.out.println("--");
        System.out.println("set sur a2, de liste 'b2, b3' comme objets en relation avec a2");
        System.out.println("set sur b2 de la relation avec a2 (redondant)");
        b2.setObjetAAA_bi1N(a2);
        L = new ArrayList();
        L.add(b2);L.add(b3);
        a2.setListe_objetsBBB_bi1N(L);
        System.out.println("objet BBB en relation avec a1 (vide) : ");
        affiche(a1.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a2 (b2, b3) : ");
        affiche(a2.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a3 (vide) : ");
        affiche(a3.getListe_objetsBBB_bi1N());
        System.out.println("objet AAA en relation avec b1 (null) : "+b1.getObjetAAA_bi1N());
        System.out.println("objet AAA en relation avec b2 (a2) : "+b2.getObjetAAA_bi1N().getNom());
        System.out.println("objet AAA en relation avec b3 (a2) : "+b3.getObjetAAA_bi1N().getNom());
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                
        
        System.out.println("--");
        System.out.println("set sur a2, de liste 'b1, b3' comme objets en relation avec a2");
        L = new ArrayList();
        L.add(b1);L.add(b3);
        a2.setListe_objetsBBB_bi1N(L);
        System.out.println("objet BBB en relation avec a1 (vide) : ");
        affiche(a1.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a2 (b1, b3) : ");
        affiche(a2.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a3 (vide) : ");
        affiche(a3.getListe_objetsBBB_bi1N());
        System.out.println("objet AAA en relation avec b1 (a2) : "+b1.getObjetAAA_bi1N().getNom());
        System.out.println("objet AAA en relation avec b2 (null) : "+b2.getObjetAAA_bi1N());
        System.out.println("objet AAA en relation avec b3 (a2) : "+b3.getObjetAAA_bi1N().getNom());
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                
        
        System.out.println("--");
        System.out.println("ajout sur a2, de liste b2 comme objets en relation avec a2");
        a2.addObjetBBB_bi1N(b2);
        System.out.println("objet BBB en relation avec a1 (vide) : ");
        affiche(a1.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a2 (b1, b3, b2) : ");
        affiche(a2.getListe_objetsBBB_bi1N());
        System.out.println("objet BBB en relation avec a3 (vide) : ");
        affiche(a3.getListe_objetsBBB_bi1N());
        System.out.println("objet AAA en relation avec b1 (a2) : "+b1.getObjetAAA_bi1N().getNom());
        System.out.println("objet AAA en relation avec b2 (a2) : "+b2.getObjetAAA_bi1N().getNom());
        System.out.println("objet AAA en relation avec b3 (a2) : "+b3.getObjetAAA_bi1N().getNom());
        /* decommenter si on veut consulter l'etat de la base ici */
         db.commit();

    }
    
    
    /** Teste la relation n-n bi-directionnelle */    
    public static void test_binn() {
        
        db.begin();
        
        System.out.println("Creation des objets AAA, BBB");
        AAA a1 = new AAA(); a1.setNom("a1");
        AAA a2 = new AAA(); a2.setNom("a2");
        AAA a3 = new AAA(); a3.setNom("a3");
        BBB b1 = new BBB(); b1.setNom("b1");
        BBB b2 = new BBB(); b2.setNom("b2");
        BBB b3 = new BBB(); b3.setNom("b3");
        List L;
        
        db.makePersistent(a1);
        db.makePersistent(a2);
        db.makePersistent(a3);
        db.makePersistent(b1);
        db.makePersistent(b2);
        db.makePersistent(b3);        
        
        System.out.println("TEST RELATION N-M BIDIRECTIONNELLE");
        System.out.println("set sur a1, de liste b1 b2 comme objets en relation avec a2");
        System.out.println("add sur a2, de b2 comme objets en relation avec a2");
        System.out.println("add sur a3, de b3 comme objets en relation avec a3");
        L=new ArrayList(); L.add(b1); L.add(b2);
        a1.setListe_objetsBBB_biNM(L);
        a2.addObjetBBB_biNM(b2);
        a3.addObjetBBB_biNM(b3);
        System.out.println("objet BBB en relation avec a1 (b1, b2) : ");
        affiche(a1.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a2 (b2) : ");
        affiche(a2.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a3 (b3) : ");
        affiche(a3.getListe_objetsBBB_biNM());
        System.out.println("objet AAA en relation avec b1 (a1) : ");
        affiche(b1.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b2 (a1, a2) : ");
        affiche(b2.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b3 (a3) : ");
        affiche(b3.getListe_objetsAAA_biNM());
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                        
        
        System.out.println("");
        System.out.println("-- (idem avant)");
        System.out.println("set sur a1, de liste b1 b2 comme objets en relation avec a2");
        System.out.println("add sur a2, de b2 comme objets en relation avec a2");
        System.out.println("add sur a3, de b3 comme objets en relation avec a3");
        L=new ArrayList(); L.add(b1); L.add(b2);
        a1.setListe_objetsBBB_biNM(L);
        a2.addObjetBBB_biNM(b2);
        a3.addObjetBBB_biNM(b3);
        System.out.println("objet BBB en relation avec a1 (b1, b2) : ");
        affiche(a1.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a2 (b2, b2) : ");
        affiche(a2.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a3 (b3, b3) : ");
        affiche(a3.getListe_objetsBBB_biNM());
        System.out.println("objet AAA en relation avec b1 (a1) : ");
        affiche(b1.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b2 (a1, a2, a2) : ");
        affiche(b2.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b3 (a3, a3) : ");
        affiche(b3.getListe_objetsAAA_biNM());
        /* decommenter si on veut consulter l'etat de la base ici */
//         db.commit();
//         System.exit(0);                        

        System.out.println("");
        System.out.println("-- ");
        System.out.println("remove sur b1 de a1");
        System.out.println("remove sur b2 de a2");
        System.out.println("vidage de a3");
        L=new ArrayList(); L.add(b1); L.add(b2);
        b1.removeObjetAAA_biNM(a1);
        b2.removeObjetAAA_biNM(a2);
        a3.emptyListe_objetsBBB_biNM ();
        System.out.println("objet BBB en relation avec a1 (b2) : ");
        affiche(a1.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a2 (b2) : ");
        affiche(a2.getListe_objetsBBB_biNM());
        System.out.println("objet BBB en relation avec a3 (vide) : ");
        affiche(a3.getListe_objetsBBB_biNM());
        System.out.println("objet AAA en relation avec b1 (vide) : ");
        affiche(b1.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b2 (a1, a2) : ");
        affiche(b2.getListe_objetsAAA_biNM());
        System.out.println("objet AAA en relation avec b3 (vide) : ");
        affiche(b3.getListe_objetsAAA_biNM());
        /* decommenter si on veut consulter l'etat de la base ici */
         db.commit();
    }
    
       
    /** Chargement des objets */
    public static void charge() {
        db.begin();
        List allBBB = db.loadAll(BBB.class);
        List allAAA = db.loadAll(AAA.class);        
        System.out.println("-- AAA ---");
        Iterator itA = allAAA.iterator();
        while (itA.hasNext()) {
            AAA a = (AAA) itA.next();
            System.out.println("##  objet - id = "+a.getId()+" - nom = "+a.getNom());
            System.out.print("        lien 1-1 : ");
            if (a.getObjetBBB_bi11() != null) 
                System.out.print("id = "+a.getObjetBBB_bi11().getId()+" - nom = "+a.getObjetBBB_bi11().getNom());
            System.out.println();                
            System.out.println("        lien 1-n : ");  
            affiche(a.getListe_objetsBBB_bi1N());
            System.out.println("        lien n-m : ");  
            affiche(a.getListe_objetsBBB_biNM());            
        }
        System.out.println();
        System.out.println("-- BBB ---");
        Iterator itB = allBBB.iterator();
        while (itB.hasNext()) {
            BBB b = (BBB) itB.next();
            System.out.println("##  objet - id = "+b.getId()+" - nom = "+b.getNom());
            System.out.print("        lien 1-1 : ");
            if (b.getObjetAAA_bi11() != null) 
                System.out.print("id = "+b.getObjetAAA_bi11().getId()+" - nom = "+b.getObjetAAA_bi11().getNom());
            System.out.println();                
            System.out.print("        lien 1-n : ");  
            if (b.getObjetAAA_bi1N() != null) 
                System.out.print("id = "+b.getObjetAAA_bi1N().getId()+" - nom = "+b.getObjetAAA_bi1N().getNom());
            System.out.println();                
            System.out.println("        lien n-m : ");  
            affiche(b.getListe_objetsAAA_biNM());            
        }        
    }
    
    
    public static void affiche(List L) {
        Iterator it = L.iterator();
        while ( it.hasNext() ) {
            ClasseMere o = (ClasseMere)it.next();
            if ( o == null ) System.out.println("   - null");
            else System.out.println("   - "+o.getNom());
        }
    }
    
   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -