使用Hibernate的问题,分不够再加!!!!!!!!

marey_marey111 2008-09-07 01:58:44
项目中使用了Struts2.0+Spring2.0+Hibernate3.0进行开发
现在遇到的一个关联更新的问题。。有CM_Agent这个表是主表。。 通过agt_code_ref与销售表agent_payment 相关联。。
其中agent_payment表中的Hibernate映射XML 文件是这样写的。
<many-to-one name="cmAgent" class=""
fetch="select" cascade="save-update" not-null="true" >
<column name="AGT_CODE_REF" length="10" >
<comment>º½Ð­´úÂë</comment>
</column>
</many-to-one>
问题是:我更新agent_payment 表时,cmAgent表中的agt_code_ref并没有更新过来。。而是不知道从什么地方弄了一个字段插了进去。。同时cmAgent表也被插进去了一条记录。。cmAgent表中插入的记录除了agt_code_ref这个字段跟原来的不一样以外。。其他的都一样..
比如:cmagent表中的记录是:
agt_code_ref,name,payment,city
01010101,关羽,10000,北京
那么往agent_payment 表中插数据的时候就变成了

agent_payment 表中的记录

agt_code_ref,name,fistpayment,secendpayment,date
205,关羽,5000,5000,20080906
此时的CmAgent表中的记录变成了:

agt_code_ref,name,payment,city
01010101,关羽,10000,北京
205,关羽,10000,北京
我不知道这个205是怎么来的。。。。。。。。。。。。。。。每次插入的都不一样。。
这是为什么啊?为什么CmAgent中的agt_code_ref与agent_payment 中的agt_code_ref没有关联上啊。。

...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyi123 2008-09-08
  • 打赏
  • 举报
回复
学习,帮顶
zw21vv 2008-09-08
  • 打赏
  • 举报
回复
cascade="save-update" 配反了啊,应该在CmAgent.hbm.xml中的set上设置
deeplyloving 2008-09-08
  • 打赏
  • 举报
回复
关系两边都得配。。那个one-to-many配了没。两边都得指定。交给一方去处理
youjianbo_han_87 2008-09-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangyi123 的回复:]
学习,帮顶
[/Quote]
chfzhb 2008-09-07
  • 打赏
  • 举报
回复
牟瑞,这个问题问书晓。 他解决了,你把分给我留下。
Dave 2008-09-07
  • 打赏
  • 举报
回复
帮顶……
老紫竹 2008-09-07
  • 打赏
  • 举报
回复
好奇怪的问题,有几个地方我没看懂
1 有CM_Agent这个表是主表。。 通过agt_code_ref与销售表agent_payment 相关联。。
既然是主表,那么应该是这个主表的ID主键字段和 agent_payment的一个外键字段进行关联。我没看出来
2 我更新agent_payment 表时,cmAgent表中的agt_code_ref并没有更新过来
既然你的这个是从表,怎么可能更新主表里面的主键呢?好奇怪的设计,你这里更新,竟让需要更新主表,到底谁是主表?
3 而是不知道从什么地方弄了一个字段插了进去
我也不知道,也许是一个自动主键吧!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧