2013-08-19 14 views
5

に多くのORMLite - 多くのリンク(0 ... n --- 0 ... n、ORMLiteアノテーション付き)。は、私は2つのクラスを持っている多くの関係のAndroid

さて、私のワークフローは次のとおりです。


私は複数の「UniteStratigraphique」クラスを作成し、私は(これは正常に動作します)私のデータベースに格納します。

=>だから、n * "UniteStratigraphique"が保存されています。

私が望むのは、複数の "UniteStratigraphique"クラスを含む "Campagne"クラスを作成することです。

=>だから私は "Campagne.java" からこのフィールドを設定したい:私は前に保存されたn個の* "UniteStratigraphique" の要素を持つ

@ForeignCollectionField 
    private ForeignCollection<UniteStratigraphique> listeUniteStratigraphique; 

私は、このDAOメソッドでこれを実行しようとしましたが、それは私のDBに「UniteStratigraphique」クラスを複製し、何のリンクは行われません。..

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); 
      } 
     } 

    } 

そして、私の活動で、私はこれやってる:

db.addCampagne(campagne); 

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

コードを再フォーマットできますか?それが立っているので、他人には役に立たない。 – Gray

答えて

8

多くの関係に多くはORMLiteと非自動で行われ、それを達成するための唯一の方法は、これらの2つのクラスbeetweenリンクのための第三表を作ることです。..

このリンクを再この問題へのFERS:What is the best way to implement many-to-many relationships using ORMLite?

そして、ここでの例:https://github.com/j256/ormlite-jdbc/tree/master/src/test/java/com/j256/ormlite/examples/manytomany

はそれが助け願っています。

+0

"不可能"?あるいは、非自動を意味するかもしれませんか?それをする方法があれば、どうしてそれは不可能でしょうか? – Gray

関連する問題