2016-05-14 5 views
1

私はこれらのエンティティを持っている:greenDAOを使用して別のオブジェクトの中にオブジェクトをロードする方法は?

public class Category { 

    private Long id; 
    private String name; 
    private Integer color; 
} 

public class Item { 

    private Long id; 
    private String name; 
    private String groupType; 
    private Category category; 
} 

どのように私はItemオブジェクト内のカテゴリーを持つようにgreenDAOをモデル化する必要がありますか?

編集:

ジェネレータコード:

public class GreenDaoGenerator { 

    public static final String DEFAULT_PACKAGE = "xxxxx"; 

    public static void main(String[] args) throws Exception { 
     Schema schema = new Schema(1, DEFAULT_PACKAGE + ".entity"); 
     schema.setDefaultJavaPackageDao(DEFAULT_PACKAGE + ".dao"); 

     addCategory(schema); 
     addItem(schema); 

     DaoGenerator daoGenerator = new DaoGenerator(); 
     daoGenerator.generateAll(schema, "Generated Files"); 
    } 

    private static void addItem(Schema schema) { 
     Entity entity = schema.addEntity("Item"); 
     entity.addIdProperty(); 
     entity.addStringProperty("Name"); 
     entity.addStringProperty("GroupType"); 
     Property IdProperty = entity.addLongProperty("categoryId").getProperty(); 
     entity.addToOne(schema.getEntities().get(0), IdProperty); 
    } 

    private static void addCategory(Schema schema) { 
     Entity entity = schema.addEntity("Category"); 
     entity.addIdProperty(); 
     entity.addStringProperty("Name"); 
     entity.addIntProperty("Color"); 
    } 

} 

私はあなたの答えの後にそれをしなかった私はそれを正しい方法をやっている場合は、見てみてください。ありがとう。

答えて

1

GreenDao RelationsItemエンティティからCategoryエンティティにマッピングする必要があります。ここで

は(itemcategoryがあなたのgreenDAO・ジェネレータ・コードでエンティティである)の例である:

Property IdProperty = item.addLongProperty("categoryId").getProperty(); 
item.addToOne(category, IdProperty); 
+1

私はあなたが見て、私はそれをやっているかどうかを確認することができ、あなたのコメントの後に発電機のコードを追加しましたまさにその通りです。ありがとうございます –

+0

はい、あなたのコードは正しく見えます。生成後、 'Item'エンティティはgetterとsetterを持つ' Category'メンバを持ちます。 –

+1

それは期待どおりに動作しました。ありがとう! –

関連する問題