浏览 5676 次
锁定老帖子 主题:save(object)一问
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2003-10-03
<class name="objectClass" table="objectTable"> ........... <list name="items" cascade="all" inverse="true"> <key column="pk"/> <index column="itemIndex"/> <one-to-many class="itemClass"/> </list> ........ <class name="itemClass" table="itemTable"> ........ 我session.save(object)时只保存object自己的属性,而不会保存list,能否做到保存object的同时自动的保存list呢? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2003-10-04
引用 我session.save(object)时只保存object自己的属性,而不会保存list 应该会呀,你已经在映射文件中设置了list cascade="all"呀。 |
|
返回顶楼 | |
发表时间:2003-10-04
是不是没有设置 list 里的对象的 id 的 unsaved value,所以没有保存 list 里的对象?
|
|
返回顶楼 | |
发表时间:2003-10-05
我试过了,的确list的对象没保存
我的itemClass正好是用复合主键,会不会是这个原因呢 下面是我的真实配置文件 <class name="com.hjc.web.vote.Vote" table="vote"> <id name="id" column="pid"> <generator class="identity"/> </id> <property name="type" not-null="true"/> <property name="name" length="30" not-null="true"/> <property name="description" length="100" not-null="false"/> <property name="createTimeInDate" column="createTime" type="date" update="false" not-null="true"/> <property name="exceedTimeInDate" column="exceedTime" type="date" not-null="true"/> <list name="items" cascade="all" inverse="true" lazy="false"> <key column="pid"/> <index column="itemIndex"/> <one-to-many class="com.hjc.web.vote.VoteItem"/> </list> </class> <class name="com.hjc.web.vote.VoteItem" table="vote_item"> <composite-id> <key-property name="pid"/> <key-property name="index" column="itemIndex"/> </composite-id> <property name="content" length="50" not-null="true"/> <property name="count" not-null="true"/> </class> 我知道我这样配置是有点怪的了,但我现在面对的是一个遗留系统, 我在想保存Vote对象时它的主键是自动生成的,而VoteItem却需要Vote的主键作为他的复合主键的一部分,所以VoteItem没有足够的信息保存自己呢? 这是我的猜想,我是个hibernate的小菜,呵呵,说错了不要见怪. |
|
返回顶楼 | |
发表时间:2003-10-06
我以前也遇到这种情况,我把inverse="false" 就好了。
|
|
返回顶楼 | |