关于ssh的多对多情况
第1种情况:
第1个字段都是自动增长的!
用户表字段 用户编号:uid 用户名: uname
角色表字段 角色编号:rid 角色名称:rname
用户角色表 用户角色编号:id(主键) 用户编号 uid(外键 引用用户表), 角色编号(外键,引用角色表)..第2种情况 用户表字段 用户编号:uid 用户名: uname
角色表字段 角色编号:rid 角色名称:rname
用户角色表 用户角色编号: uid(外键 引用用户表)+角色编号(外键,引用角色表) 两个外键做联合主键这两种情况下建立的pojos不同,第1种情况生成3个pojos, 第2个生成2个pojos ...我是用myeclipse的hibernate生成的,
现在我对这几个表进行操作 总是会有点怪,用第2种情况时建立两个dao进行操作,我不清楚vo是怎么去想,怎么去写
还有就是第1种情况下是不是要建立3个dao,vo又是怎么写?
请高手帮我解决下。。急。正在做项目。每次走到这个地方就糊涂了。或者有类似多对多的分了层的代码 发给我也可以。。
谢谢!!!
第1种情况:
第1个字段都是自动增长的!
用户表字段 用户编号:uid 用户名: uname
角色表字段 角色编号:rid 角色名称:rname
用户角色表 用户角色编号:id(主键) 用户编号 uid(外键 引用用户表), 角色编号(外键,引用角色表)..第2种情况 用户表字段 用户编号:uid 用户名: uname
角色表字段 角色编号:rid 角色名称:rname
用户角色表 用户角色编号: uid(外键 引用用户表)+角色编号(外键,引用角色表) 两个外键做联合主键这两种情况下建立的pojos不同,第1种情况生成3个pojos, 第2个生成2个pojos ...我是用myeclipse的hibernate生成的,
现在我对这几个表进行操作 总是会有点怪,用第2种情况时建立两个dao进行操作,我不清楚vo是怎么去想,怎么去写
还有就是第1种情况下是不是要建立3个dao,vo又是怎么写?
请高手帮我解决下。。急。正在做项目。每次走到这个地方就糊涂了。或者有类似多对多的分了层的代码 发给我也可以。。
谢谢!!!
userDao 写用户的方法..roleDao 写角色的方法..
然后有两个业务方法 userService roleService.
我在action中写一个给用户授权,然后调用用户的userService方法。
而三个dao 我觉得是因为有三个pojos 操作就要那样分开。。只是最后要用的时候调用 userDao.getRoles.add(role)..
因为这个hibernate里面的机制我不是很清楚 。现在想到个东西 用hibernate去写就很模糊。。
你能说的更具体点么
role pojo
private Integer rid;
private String rname;
private Set userRoles = new HashSet(0);userRole 中间表的pojo
public class UserRole implements java.io.Serializable { // Fields private Integer id;
private Role role;
private Users users;
user pojo
private Integer uid;
private String uname;
private String upassword;
private Set userRoles = new HashSet(0);我是想在给用户授权 不知道这个vo 怎么写
前面我说的就是中间表没有自己的主键 生成两个pojo啊 对应两个dao操作
这个是生成三个,我想知道是不是dao 也要写3个呢。。
第二种方式是正经的多对多的关系
or映射是对象和关系表的映射,而第三个pojo代表不了什么对象吧