如题, 好友功能的数据库应该如何设计。。
例如:
用户表:
Table: UserInfo
Column: id --主键列,
name --用户姓名
好友表: 建立UserInfo 与 UserInfo 的一对多关系
Table: Friend
Column: userid --用户id1, 外键 与 UserInfo 中id关联
friendid --用户id2 外键 与 UserInfo 中id关联
疑问:
1. Friend表中是否要将userid和friendid同时表示为主键....
如果同时设置为主键则在Hibernate中如何创建改关系的实体类?(我在用MyEclipse5.5生成Friend表的实体类时总是反射出两个实体类)
2. 如果使用如下对象关系来描述 好友关系。那么数据库应该如何设计:
public class UserInfo {
private int id = 0;
private String name = null;
private Set<userinfo> friend = null;
}
如上面代码描述的关系, 如果一个用户有1w个好友,那么是不是在使用Hibernate中的Session.get()方法来获取改对象时,是不是会把1w个好友数据也存放到了Set中。 如果是这样那么怎样才能解决效率问题. (刚刚接触Hibernate,对这方面有很多问题还不是很清楚)