请教banq及各位道友,关于创建主题帖里的一个疑问

在MessageKernel类中,创建主题帖的方法如下:
public void createTopicMessage(EventModel em) throws Exception{
logger.debug("enter createTopicMessage");
ForumMessage forumMessage = (ForumMessage)em.getModelIF();
messageRepository.createTopicMessage(em);
logger.debug("createTopicMessage ok!");

forumMessage = getMessage(forumMessage.getMessageId());
em.setModelIF(forumMessage);//forummessage refresh notice front layer
forumBuilder.loadForumState(forumMessage.getForum());//refresh this forum
}


我的疑问:既然forumMessage一开始是从ForumMessage forumMessage = (ForumMessage)em.getModelIF() 获取的,那么之后为什么还要再次forumMessage = getMessage(forumMessage.getMessageId())?难道前后获取的forumMessage有什么不一样?

请热心人赐教,谢谢了

[该贴被rookie于2008-06-27 17:20修改过]

有谁能回答下么,谢谢了

/*
* return a full ForumMessage need solve the relations with Forum
* ForumThread parentMessage
*/
然后做了以下工作:
forumMessage.setForum(forum);
forumMessage.setForumThread(forumThread);
embedAccount(forumMessage);
forumMessage.setEmbedded(true);

既然forumMessage一开始是从ForumMessage forumMessage = (ForumMessage)em.getModelIF() 获取的,那么之后为什么还要再次forumMessage = getMessage(forumMessage.getMessageId())?

表单界面和DB数据库都是OO编程的过程性边界,过程性边界抓过来的对象是不完整的,要得到一个完整的生命对象必须要到仓储里面去拿。

顶。有道理