Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
struts 1抛出org.hibernate.transientObject异常_Hibernate_Struts 1 - Fatal编程技术网

struts 1抛出org.hibernate.transientObject异常

struts 1抛出org.hibernate.transientObject异常,hibernate,struts-1,Hibernate,Struts 1,我正在尝试将活动审计添加到struts 1应用程序中。我更改了一个对象,然后我想在我的审核表中创建一行,该行引用了更改后的对象。我得到TransientObjectException,因为我更改了引用对象。我尝试刷新会话,但没有解决问题,我不知道为什么 merchant.setTrusted(false); merchantDAO.saveOrUpdate(merchant); // trying to resolve org.hibernate.PropertyValueException:

我正在尝试将活动审计添加到struts 1应用程序中。我更改了一个对象,然后我想在我的审核表中创建一行,该行引用了更改后的对象。我得到TransientObjectException,因为我更改了引用对象。我尝试刷新会话,但没有解决问题,我不知道为什么

merchant.setTrusted(false);
merchantDAO.saveOrUpdate(merchant);
// trying to resolve org.hibernate.PropertyValueException: not-null property references a null or transient value: com.rc.model.ActivityAudit.user
SessionManagerFactory.getSessionManager(DatasourceType.M).getSession().flush();

ActivityAuditManager.addActivityAudit("Set merchant to untrusted", merchant, userAccount);
其中ActivityAuditManager.addActivityAudit()是:

我得到的例外是:

org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
但据我所知,我是

ETA映射:

<class name="com.rc.model.ActivityAudit" table="activity_audit" discriminator-value="0">
...
    <many-to-one name="merchant" class="com.rc.model.Merchant"
                 column="merchantid" unique="false" not-null="true" cascade="none"/>
...

...
...
我尝试了
cascade=“all”
cascade=“save update”
,但都没有改善这种情况


ETA:请参见下面我自己的答案,但实际上已经解决了它。

有两个问题。第二个问题在我修复第一个问题时被发现,它最初掩盖了一个事实,即
cascade=“save update”
确实解决了这个问题

在这个问题上,, 用户发布了一个调试方法,对我帮助很大

我没有注意到第二个问题,直到我使用了调试方法并更详细地检查了异常

<class name="com.rc.model.ActivityAudit" table="activity_audit" discriminator-value="0">
...
    <many-to-one name="merchant" class="com.rc.model.Merchant"
                 column="merchantid" unique="false" not-null="true" cascade="none"/>
...