Ordinary hut

人间一福地,胜似天仙宫
posts - 61, comments - 50, trackbacks - 0, articles - 1

导航

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

搜索

  •  

最新评论

阅读排行榜

评论排行榜

是否这样设置了一对多,比如父类是Customer
<set name="orderses" lazy="true" cascade="all" inverse="true">

其实很简单,当子类要进行保存操作的时候,要先到数据库里面去查询是否已经存在了,如果存在了就调用update,否则就是insert,这就产生了那条select
如果是多条Order的话,就会产生多个sql语句
也不能说影响性能,正常写jdbc的时候也需要这么判断的

如果想去掉这个查询语句,那只有麻烦点了,就是去掉
<set name="orderses" lazy="true" cascade="all" inverse="true">
中的cascade="all"
变为
<set name="orderses" lazy="true" inverse="true">
,默认的cascade是null的
然后手工保存子类(Orders),比如:
session.save(cust)
session.save(orders1)
session.save(orders2)

一堆多余的sql了,但是增加了代码的工作量

只有注册用户登录后才能发表评论。


网站导航: