2016-08-05 3 views
0

でエンティティを保存します。私は、新しいユーザーを追加しようとするとアンドロイドgreenDaoは、私は次のエンティティに応じてDBを作った関係

Entity image = schema.addEntity("Image"); 
image.setTableName("Images"); 
image.addStringProperty("id").primaryKey(); 
image.addStringProperty("size128"); 
image.addStringProperty("size320"); 


Entity user = schema.addEntity("User"); 
user.setTableName("Users"); 
user.addStringProperty("id").primaryKey(); 
user.addStringProperty("fullName"); 
Property userImageIdProperty = user.addStringProperty("imageId").getProperty(); 
user.addToOne(image, userImageIdProperty); 

、画像が保存されていません。

Image image = new Image(); 
User player = new User(); 
player.setId(advisorClient.getId()); 
player.setFullName(advisorClient.getFullName()); 

if (advisorClient.getAvatar() != null) { 
    image.setId(advisorClient.getAvatar().getId()); 
    image.setSize128(advisorClient.getAvatar().getW128()); 
    image.setSize320(advisorClient.getAvatar().getW320()); 
    player.setImage(image); 
} 
daoSession.getUserDao().insertOrReplace(user); 

間違った方法で保存しますか?

答えて

0

ユーザーと同じように、画像をデータベースに挿入する必要があります。

Image image = new Image(); 
User player = new User(); 
player.setId(advisorClient.getId()); 
player.setFullName(advisorClient.getFullName()); 

if (advisorClient.getAvatar() != null) { 
    image.setId(advisorClient.getAvatar().getId()); 
    image.setSize128(advisorClient.getAvatar().getW128()); 
    image.setSize320(advisorClient.getAvatar().getW320()); 
    player.setImage(image); 

    daoSession.getImageDao().insertOrReplace(image); 
} 

daoSession.getUserDao().insertOrReplace(user); 
関連する問題