5
的是具有雙向定向1時務請插入一個新的對象變成綠色DAO DB的正確方法:M的關係?正確方法:米綠DAO
比方說,我有了一個談話實體和消息實體聊天應用。每個對話都有一個消息列表,每個消息都有一個父對話。
我現在要做的是:
Conversation conv = new Conversation();
ConversationDao.insert(conv);
List<Message> list = conv.getMessageList();
Message msg = new Message();
MessageDao.insert(msg);
msg.setParent(conv.getId());
list.add(msg);
// SHOULD I UPDATE THE CONVERSATION IN THE DB???
在我看來,像我這樣做並不是正確的,我很想得到一些指導廣告正確的方式來做到這一點。
在此先感謝...
編輯:
這可以從我的評論中可以看出,試圖執行的代碼,我在這裏寫下的方式後,我收到了null
代替談話我試圖鏈接。
我改變了我的代碼了一下,現在它看起來像這樣:
private static void linkMessageToAuthorAndParent(Message messageObj, Thread parent) {
List<Message> threadsMessages = parent.getMessageList();
messageObj.setThread(parent);
messageDao.insert(messageObj);
threadsMessages.add(messageObj);
Log.d("DtabaseHelper.parseMessage", "message was inserted");
}
但同樣,我的問題是,我不知道該連接現在是雙向的。
我現在應該更新線程嗎?
我不得不說,這並不能在現實生活中工作,我在我的代碼嘗試這樣做,msg.getConverstaion的'()的結果是''null'。我不得不使用'msg.setConversation(轉化)' – thepoosh
你調用實體之前或之後msg.getConversation()使用DAO插入? –
是的,我完全遵循文檔中寫的內容,但得到了一個空值。使用'msg.setConversation'和它的工作,我不知道其他的方向努力,那就是我的問題 – thepoosh