Action 中做的操作:
ProjectAffix affix = new ProjectAffix();//由于是附件,用的是Struts2的附件传值 页面一个name对应着Action中的3个值OGNL 我不知道怎么来封装,所以进行Add操作时,new了个瞬时对象
Set
affix.setFileName(path+"\\"+fileFileName);//附件上传文件所在的全路径
projectAffix.add(affix);//Add一个对象到Set集合中
affix.setProject(project);//set 对方附件对应的Project
project.setProjectAffix(projectAffix);//将projectAffix赋值给一方project
projectService.add(project);进行Add操作
配置文件为:
我在页面新增 Project 时,选择插入第一条数据时,后台输出为:
Hibernate: insert into project (customer_id, proName, proContent, state) values (?, ?, ?, ?)
Hibernate: insert into projectAffix (project_id, fileName) values (?, ?)
当插入第二条时:
Hibernate: insert into project (customer_id, proName, proContent, state) values (?, ?, ?, ?)
Hibernate: update projectAffix set project_id=?, fileName=? where proAffix_id=?
当我删除掉project时可以正常的删除掉projectAffix 表中的记录,做级联删除;更新也可以正常执行;就是当insert into project 表,然后hibernate自动的执行对projectAffix表进行更行,不知道什么原因,求高人指点啊。。