2013-08-19 19 views
5

birçok ORMLite -Manyetik bağlantılı (0 ... n --- 0 ... n, ORMLite ek açıklamaları ile).İki sınıf olan birçok ilişki Android

Şimdi benim iş akışı:


Birden "UniteStratigraphique" sınıfları oluşturmak ve ben (bu iyi çalışıyor) veritabanıma saklayabilirsiniz.

=> Bende n * "UniteStratigraphique" var. Bundan sonra istediğim, birden fazla "UniteStratigraphique" dersi içerecek bir "Campagne" sınıfı yaratmaktır.

=> Ben "Campagne.java" dan bu alanı ayarlamak istediğiniz Yani:

@ForeignCollectionField 
    private ForeignCollection<UniteStratigraphique> listeUniteStratigraphique; 

n * "UniteStratigraphique" Ben hemen önce depolanmış elemanları ile.

public void addUsToCampagne(Campagne campagne, 
      ArrayList<UniteStratigraphique> usArray) { 
     ForeignCollection<UniteStratigraphique> usForeign = campagne 
       .getListeUniteStratigraphiqueForeign(); 
     if (usForeign == null) { 
      try { 
       usForeign = getHelper().getCampagneDao() 
         .getEmptyForeignCollection("listeUniteStratigraphique"); 

       for (UniteStratigraphique us : usArray) { 
         usForeign.add(us); 
       } 
      } catch (SQLException e) { 
       e.printStackTrace(); 
      } 
     }else{ 
      for (UniteStratigraphique us : usArray) { 
        usForeign.add(us); 
      } 
     } 

    } 

Ve

benim Aktivite ben yapıyorum ..

Bu DAO yöntemi ile bu yapmaya çalıştım ama sadece benim db içine "UniteStratigraphique" sınıfları çoğaltmak ve hiçbir bağlantı yapılır:

Birçok ilişkilere
db.addCampagne(campagne); 

      if(myUniteStratigraphiqueArray.size() > 0){ 
        db.addUsToCampagne(campagne, myUniteStratigraphiqueArray); 
      } 
+0

Kodunuzu yeniden biçimlendirebilir misiniz? Diğerleri için yararlı olmadığından. – Gray

cevap

8

Birçok

.. Bu bağlantı yeniden ORMLite, sadece bu 2 sınıflar beetween bağlantı için bir 3 Tablo yapmaktır ulaşmanın tek yolu ile otomatik olmayan vardır What is the best way to implement many-to-many relationships using ORMLite?

Ve burada örnek:

https://github.com/j256/ormlite-jdbc/tree/master/src/test/java/com/j256/ormlite/examples/manytomany taslağın yardımcı Umut bu soruna fers.

+0

"İmkansız"? Ya da belki otomatik olmayan demek istiyorsun? Bunu yapmanın yolları varsa nasıl imkansız olabilir? – Gray