我们需要在基于spring MVC的网络应用中创建聊天功能。
将有两种聊天一对一聊天和群聊。
对于群聊,我提出了以下架构。
Table = group_chat
User_id, message, message_on (datetime), group_id
我不确定这是一对一聊天。
一对一聊天可能发生在群组外或两个群组成员之间的群组内。
请帮忙
答案 0 :(得分:5)
由于我们对您的架构或要求一无所知,您的问题有点开放。但是,对于基本上相同类型的数据而言,拥有两个单独的表看起来像是代码味道。我可能会从这样的结构开始,并根据它的执行情况迭代它。
USERS
user_id
username
password
GROUP
group_id
name
GROUP_MEMBERS
group_id
user_id
MESSAGE
message_id
timestamp
from_user_id
destination_type (enum - group, user)
destination_id
您对聊天功能所做的任何添加都会自动传播到点对点和群聊。当然,这也要求您的代码遵循将两种类型的聊天组合到相同类中的相同原则。