//----------------------------------------------
//staff 和 module 是多对多关系
@Entity
@Table(name="t_staffModule")
public class StaffModule {
private int moduleID;
private String nameSN;
private String nameCN;
private List<Staff> staffs;
@Id
@GeneratedValue
public int getModuleID() {
return moduleID;
}
//......
@ManyToMany(
cascade = {CascadeType.ALL},
mappedBy = "staffModules",
targetEntity = Staff.class
)
public List<Staff> getStaffs() {
return staffs;
}
public void setStaffs(List<Staff> staffs) {
this.staffs = staffs;
}
}
//-class staff----
@ManyToMany(
cascade = {CascadeType.ALL},
mappedBy = "staffModules",
targetEntity = Staff.class
)
public List<Staff> getStaffs() {
return staffs;
}
//-------------------
Staff sss = new Staff();
sss.setNickName("aaa");
List<StaffModule> staffModules = new ArrayList<StaffModule>();
StaffModule sm1 = new StaffModule(); sm1.setNameCN("模块1"); staffModules.add(sm1);
StaffModule sm2 = new StaffModule(); sm2.setNameCN("模块2"); staffModules.add(sm2);
StaffModule sm3 = new StaffModule(); sm3.setNameCN("模块3"); staffModules.add(sm3);
sss.setStaffModules(staffModules);
staffService.save(sss);//执行到这句时sql语句如下:
//------------------------------
2013-10-30 08:19:29,770 DEBUG SQL:111 - insert into t_staff (nickName, password, type, username) values (?, ?, ?, ?)
2013-10-30 08:19:29,770 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
2013-10-30 08:19:29,770 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
2013-10-30 08:19:29,770 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
// ******* 但是 中间表中没有数据。 这就是存在的问题 ********//
//--------------------
但是在 staffService.save(sss);这句后加上:
staffService.delete(30); //(sql语句如下)
这句,则三张表中的数据都是和期望的一样,该删的删了,保存的数据 三张表都有了。但是,为什么?????//*********//
(好像执行点什么其他的操作都可以使 保存实体操作 ,对应的 三张表都有数据)
//-------------
2013-10-30 08:22:36,801 DEBUG SQL:111 - insert into t_staff (nickName, password, type, username) values (?, ?, ?, ?)
2013-10-30 08:22:36,879 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
2013-10-30 08:22:36,879 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
2013-10-30 08:22:36,879 DEBUG SQL:111 - insert into t_staffModule (nameCN, nameSN) values (?, ?)
2013-10-30 08:22:36,910 DEBUG SQL:111 - select staff0_.staffID as staffID13_0_, staff0_.nickName as nickName13_0_, staff0_.password as password13_0_, staff0_.type as type13_0_, staff0_.username as username13_0_ from t_staff staff0_ where staff0_.staffID=?
2013-10-30 08:22:36,910 DEBUG SQL:111 - select staffmodul0_.staffID as staffID13_1_, staffmodul0_.moduleID as moduleID1_, staffmodul1_.moduleID as moduleID14_0_, staffmodul1_.nameCN as nameCN14_0_, staffmodul1_.nameSN as nameSN14_0_ from t_staff2module staffmodul0_ inner join t_staffModule staffmodul1_ on staffmodul0_.moduleID=staffmodul1_.moduleID where staffmodul0_.staffID=?
2013-10-30 08:22:36,910 DEBUG SQL:111 - select staffs0_.moduleID as moduleID14_1_, staffs0_.staffID as staffID1_, staff1_.staffID as staffID13_0_, staff1_.nickName as nickName13_0_, staff1_.password as password13_0_, staff1_.type as type13_0_, staff1_.username as username13_0_ from t_staff2module staffs0_ inner join t_staff staff1_ on staffs0_.staffID=staff1_.staffID where staffs0_.moduleID=?
2013-10-30 08:22:36,926 DEBUG SQL:111 - select staffs0_.moduleID as moduleID14_1_, staffs0_.staffID as staffID1_, staff1_.staffID as staffID13_0_, staff1_.nickName as nickName13_0_, staff1_.password as password13_0_, staff1_.type as type13_0_, staff1_.username as username13_0_ from t_staff2module staffs0_ inner join t_staff staff1_ on staffs0_.staffID=staff1_.staffID where staffs0_.moduleID=?
详细解决方案
hibernate 注脚多对多 中间表 没数据
热度:19 发布时间:2016-04-21 21:52:31.0
相关解决方案
- hibernate 存入数据库当前时间
- Hibernate 投射文件中length属性无法改变integer字段的默认长度
- Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml解决办法
- hibernate DAO中加了局物,未提交
- hibernate 字段lazy 的兑现原理
- Hibernate 的query.list()的有关问题
- Hibernate 关联表字段赋值有关问题
- 零配置的有关问题(struts2+Hibernate)
- hibernate 连接 oracle session 有关问题
- hibernate 中没有做一对多 , 那种关联映射的关联的话如何做连接查询
- hibernate 联接mysql出错
- 大神们开始觅错啦!org.hibernate.exception.SQLGrammarException: could not execute query
- struts2,hibernate,spring3 常用框架的API CHM版本,该怎么处理
- struts2,hibernate,spring3 惯用框架的API CHM版本
- struts hibernate 测试小例子 不报错 但数据库没反应 求分析项目在小弟我的资源里面
- struts2 hibernate 分页有关问题
- hibernate与此同时使用多数据源?spring+hibernate
- hibernate 保留对象时,根据映射文件,无法获取主键值
- hibernate 多对多添加有关问题,弄一天多了,请求大佬解答。小的 在此谢过了
- struts + hibernate 后台页面修改数据后,前台页面显示的内容新旧数据交替出现。请高手帮忙分析上原因
- hibernate 多对1关联配置有关问题
- Hibernate,级联保存为何无效?
- hibernate 一对1 ,插入不进去数据
- hibernate 连接oracle异常
- struts+spring+hibernate 开发,在action层调用service层接口,结果替null 注入失败,需高手帮忙
- Hibernate 映射有关问题
- SSH框架导入struts,hibernate,spring分先后顺序吗>>解决方法
- Hibernate 中的session怎么管理
- SSH框架(就是struts+spring+hibernate)是怎么搭建的
- 请教小弟我不使用Myeclipse,可以在tomcat里面整合Spring,Hibernate,Struts2吗