知道美河 | 上传资料 | VIP申请 | 精品课程 | 资料搜索 | 问题反馈 | 会员手册 | 积分消费 | 积分充值 | 帐号保护
美河学习学习在线赞助VIP

美河学习在线(主站) eimhe.com

 找回密码
 建立账号
查看: 7517|回复: 9

[求助] 关于hibernate级联保存的一个问题,请大家指点!!

[复制链接]
发表于 2007-1-9 03:26:21 | 显示全部楼层 |阅读模式
在狼老师说的one to many的视频中,Customer,Order是一对多的关系,如果Customer表中已经有cid(2)了,我现在只想在Order表中添加odis,cid(2)的话,应该怎么做?
用视频中的方法对Customer,Order中插入cname,odis,cid都插得进,但是只插入odis,cid(2)话就不行了。
大家帮看一下到底是什么回事,拜托了。。


[ 本帖最后由 115859272 于 2007-1-9 03:27 编辑 ]
发表于 2007-1-9 08:42:54 | 显示全部楼层
来点代码说明下呗。。。

不知道你什么意思。呵呵。。
发表于 2007-1-9 08:52:44 | 显示全部楼层
呵呵,这个问题吗。很简单
在视频中hibernateSeesion open了一个,之后就根本没有close,呵呵。所以你总是插进去第一条或者服务器重新启动才可以插第2条。否则,就抛出异常,大概是jdbc.batch.size什么的。呵呵。就是批插入太多。哈哈。
 楼主| 发表于 2007-1-9 17:29:53 | 显示全部楼层
TO:小献
呵呵``我是没session.close啦,因为在进行级联查询的时候如果close的话,会报session close的,还有你说的插数据的问题,odis,cid(2)数据是能插进去的,没报什么错误。
但是cid插进去的数据为null;只有odis的数据插进去了。。

[ 本帖最后由 115859272 于 2007-1-9 17:35 编辑 ]
 楼主| 发表于 2007-1-9 17:33:59 | 显示全部楼层
这是我的代码。。
Cuctomer.hbm.xml
<hibernate-mapping>
    <class name="org.szc.domain.Customer" table="customer" catalog="test">
        <id name="cid" type="java.lang.Integer" unsaved-value="any">
            <column name="cid" />
            <generator class="native" />
        </id>
        <property name="cname" type="java.lang.String">
            <column name="cname" length="11" />
        </property>
        <set name="orders" cascade="all" inverse="true">
                <key column="cid"></key>
                <one-to-many class="org.szc.domain.Order"/>
        </set>
    </class>
</hibernate-mapping>
Order.hbm.xml
发表于 2007-1-9 17:38:05 | 显示全部楼层
 楼主| 发表于 2007-1-9 17:38:39 | 显示全部楼层
Order.hbm.xml
<hibernate-mapping>
    <class name="org.szc.domain.Order" table="order" catalog="test">
        <id name="oid" type="java.lang.Integer" >
            <column name="oid" />
            <generator class="native" />
        </id>
        <property name="odis" type="java.lang.String">
            <column name="odis" length="11" />
        </property>
               <many-to-one name="customer" class="org.szc.domain.Customer" >
                       <column name="cid"></column>
               </many-to-one>
    </class>
</hibernate-mapping>
 楼主| 发表于 2007-1-9 17:40:24 | 显示全部楼层
呵呵,这问题搞了我好长时间了,单单往Order里插数据不行,一定要Order,Customer一起插数据才成功。郁闷啊
 楼主| 发表于 2007-1-9 18:26:55 | 显示全部楼层
发表于 2007-5-18 08:01:03 | 显示全部楼层
您需要登录后才可以回帖 登录 | 建立账号

本版积分规则

 
QQ在线咨询

QQ|小黑屋|手机版|Archiver|美河学习在线 ( 浙网备33020302000026号 )

GMT+8, 2025-5-4 06:36

Powered by Discuz!

© 2001-2025 eimhe.com.

快速回复 返回顶部 返回列表