简单的描述一下,就是系统功能和角色是多对多关系,我在新增角色role的时候,如果用save(role),会报a different object with the same identifier value was already associated with the session的错,上网搜了解决方法,改用merge(role),role是存进去了,但是联合表中的角色和系统功能的对应关系没有存进去(实体类和配置文件没有问题)。我想应该和merge方法有关。谢谢。如果哪位要看我哪块详细的代码我可以再贴出来。//系统功能
create table t_function(
 functionid                      VARCHAR2(10),    /*系统功能id*/
 functionname                    VARCHAR2(40),   /*系统功能名称*/
 functionpage                    VARCHAR2(40),   /*系统功能页面*/
 fatherid                        VARCHAR2(10),    /*父系统功能ID*/
 grade                           VARCHAR2(1),    /*级别  1子功能模块  2页面*/
 serialnumber                    number(2),      /*序号*/
 userdata                        VARCHAR2(40),    /*链接地址*/
 enabled                         VARCHAR2(1),    /*是否可用*/
 functiondesc                    VARCHAR2(200),  /*系统功能描述*/
 CONSTRAINT PK_function PRIMARY KEY(functionid) using index tablespace basets
) tablespace basets;//角色
create table t_role(
 roleid                          VARCHAR2(10) ,   /*操作权限ID*/
 rolename                        VARCHAR2(50),   /*操作权限名称*/
 roleinfo                        VARCHAR2(200),  /*操作权限描述*/
 CONSTRAINT PK_role PRIMARY KEY(roleid) using index tablespace basets
) tablespace basets;
//角色系统功能
create table t_RoleFunction(
 roleid                          VARCHAR2(10),    /*系统操作权限ID*/
 functionid                      VARCHAR2(10),    /*系统功能id*/
 CONSTRAINT PK_RoleFunction PRIMARY KEY(roleid,functionid) using index tablespace basets
) tablespace basets;