浏览 1911 次
锁定老帖子 主题:关于多字段多对多关系的映射
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-12
最后修改:2009-10-14
pur_role_folder_fun 其中的字段包括 pur_id,folder_id,role_id ,三个字段分别为A,B,C的外键 ,并且以三个外键建立联合主键 数据库的结构: 三个类的属性分别为: public class Folder{ ... private Set<Role> roles; private Set<Purview> purviews; } public class Purview{ ... private Set<Role> roles; private Set<Folder> folders; } public class Role{ ... private Set<Role> folders; private Set<Purview> purviews; } 想请教下下面的这种hibernate 映射写法是否有问题 以下为 对应类 Role 的映射 <set name="purviews" table="pur_role_folder_fun" cascade="save-update"> <key column="role_id" /> <many-to-many class="com.yzmoa.pubdir.entity.Purview" column="pur_id"></many-to-many> </set> <set name="folders" table="pur_role_folder_fun" cascade="save-update"> <key column="role_id" /> <many-to-many class="com.yzmoa.pubdir.entity.Folder" column="folder_id"></many-to-many> </set> 以下为 对应类 Purview 的映射 <set name="roles" table="pur_role_folder_fun" cascade="save-update" > <key column="pur_id" /> <many-to-many class="com.yzmoa.core.entity.Role" column="role_id"></many-to-many> </set> <set name="folders" table="pur_role_folder_fun" cascade="save-update" > <key column="pur_id" /> <many-to-many class="com.yzmoa.pubdir.entity.Folder" column="folder_id"></many-to-many> </set> 以下为 对应类 Folder的映射 <set name="roles" table="pur_role_folder_fun" cascade="save-update"> <key column="folder_id"/> <many-to-many class="com.yzmoa.core.entity.Role" column="role_id" ></many-to-many> </set> <set name="purviews" table="pur_role_folder_fun" cascade="save-update"> <key column="folder_id"/> <many-to-many class="com.yzmoa.pubdir.entity.Purview" column="pur_id" ></many-to-many> </set> ----------------------------------------------------------------------------------------- 现在在开发中,我遇到的问题是 当向数据库中插入一个Folder对象(属性中的purview集合和role集合都有值)时, 我把它执行的sql打印出来后发现 除在t_folder中加入一条记录外 ,在pur_role_folder_fun中也会做插操作,但是只是插入3个字段中的2个值。 以下是输出的sql : insert into pur_role_folder_fun (folder_id, role_id) values (?, ?) 如果是 insert into pur_role_folder_fun (folder_id, role_id,pur_id) values (?, ?,?)这是我 要的效果 麻烦各位了!谢谢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-09-05
你的意思是实现t_folder和t_role这两张表的多对多关系吧,如果是的话,那么你这个关联映射简直不能再看下去了
|
|
返回顶楼 | |