无助,求助(高手进来帮帮忙)

zhouzongxi 2008-08-29 03:06:27
关于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又是怎么写?
请高手帮我解决下。。急。正在做项目。每次走到这个地方就糊涂了。

或者有类似多对多的分了层的代码 发给我也可以。。
谢谢!!!
...全文
68 点赞 收藏 8
写回复
8 条回复
zhouzongxi 2008年09月02日
谢谢你
回复 点赞
Landor2004 2008年09月01日
第一种方式不是多对多的关系,而是两个独立的一对多、多对一的关系
第二种方式是正经的多对多的关系
or映射是对象和关系表的映射,而第三个pojo代表不了什么对象吧
回复 点赞
Landor2004 2008年08月31日
明天帮你看下!
回复 点赞
zhouzongxi 2008年08月29日
我就是不知道要怎么去写vo啊。。 我把pojos贴上来
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个呢。。
回复 点赞
ocean_958 2008年08月29日
放在hibernate里面写都是一样的啊,只是在pojo这里增加点配置文件而已
回复 点赞
笨沙发 2008年08月29日
你在说清楚些,我不明白你具体要做什么,贴部分代码让大家清楚些,VO不就是输出吗,你要得到什么呢
回复 点赞
zhouzongxi 2008年08月29日
我的意思是我分层做的
userDao 写用户的方法..roleDao 写角色的方法..
然后有两个业务方法 userService roleService.
我在action中写一个给用户授权,然后调用用户的userService方法。
而三个dao 我觉得是因为有三个pojos 操作就要那样分开。。只是最后要用的时候调用 userDao.getRoles.add(role)..
因为这个hibernate里面的机制我不是很清楚 。现在想到个东西 用hibernate去写就很模糊。。
你能说的更具体点么
回复 点赞
笨沙发 2008年08月29日
联合主键的表在HIBERNATE里是怎样生成的,你看一下就明白了,他是用一个ID标识来表达多个复合主键,只要用ID.复合主键名就可以和第一种情况表示的一致了,你说建立2个DAO不明白你什么意思
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告