在线等,解决问题立即结贴!!!!!Hibernate的问题
muzg 2004-11-26 11:19:56 刚刚用Spring+Hibernate做项目,父子关系搞不清楚。
在对子表进行更新或插入时,报错:
object references an unsaved transient instance - save the transient instance before flushing: net.kuaile.model.SystemAdmin
我的Form表单里有一项
<html:hidden property="systemAdmin.userId" styleId="systemAdmin.userId"/>
是与父表关联的外键
父表hbm.xml:
<hibernate-mapping>
<class
name="net.kuaile.model.SystemAdmin"
table="user_login"
dynamic-update="false"
dynamic-insert="false"
select-before-update="false"
optimistic-lock="version"
>
<id
name="userId"
column="user_id"
type="java.lang.String"
length="50"
unsaved-value="version"
>
<generator class="assigned" />
</id>
... ...
<set
name="userSms"
lazy="true"
inverse="true"
cascade="save-update"
>
<key>
<column name="user_id" />
</key>
<one-to-many
class="net.kuaile.model.UserSm"
/>
</set>
</class>
</hibernate-mapping>
子表hbm.xml
<hibernate-mapping>
<class
name="net.kuaile.model.UserSm"
table="user_sms"
>
<id
name="userSmsId"
type="java.lang.Long"
column="user_sms_id"
unsaved-value="null"
>
<generator class="increment" />
</id>
... ...
<many-to-one
name="systemAdmin"
class="net.kuaile.model.SystemAdmin"
not-null="true"
>
<column name="user_id" />
</many-to-one>
</class>
</hibernate-mapping>
DAO:
public void saveUserSm(final UserSm userSm) {
getHibernateTemplate().saveOrUpdate(userSm);
}
hbm.xml不管怎么配也报这个错误,郁闷!!!!