2009-09-04 33 views
10

我有一個GWT應用程序,使RPC調用到服務器保存/創建一個新的實體。但是,Spring-Hibernate後端拋出異常並顯示以下錯誤消息:嘗試創建與null實體saveOrUpdate事件

attempt to create saveOrUpdate event with null entity 

我不確定這是什麼意思。什麼是空?如果這是一個新的實體,我希望將id字段設爲null或可能0,然後用休眠填充它。這種期望是否正確?

+0

我們能否看到您的映射文件和實體? – Zoidberg 2009-09-04 12:49:55

+0

Zoidberg, 似乎並不是實體問題的映射文件。它似乎是一個序列化問題,如安德烈在下面提出的。 因此,在GWT中,我在基於複合的類A中啓動一個RPC服務,然後在另一個子窗口(思考彈出窗口)中再次啓動RPC服務類。我的子窗口類我可以得到類型A的所有實體都很好,但沒有更新,保存或刪除是成功的。 – Rafael 2009-09-04 14:14:02

回答

15

null entity可能意味着saveOrUpdate()實際接收null作爲一個參數,即:

session.saveOrUpdate(null); 

如果您使用序列化傳遞到反對的遠程位置(你提到的RPC),也許你應該檢查如果序列化工作正常。有些東西告訴我,無法序列化可能最終會傳遞一個空引用。

+0

Andre, 兩個後端實體和GWT客戶端實體都被序列化。 順便說一句,如果我通過Spring bean在Eclipse項目中運行,我可以成功創建/保存實體。但是當我從GWT託管模式運行相同的代碼時,我得到拋出的異常。我也可以創建/保存其他實體。奇怪的。 – Rafael 2009-09-04 13:54:38

+0

那麼你的意思是這個錯誤只發生在這個特定的實體上?在其他人saveOrUpdate()工作正常? – 2009-09-04 15:26:28

+0

是的。我開始認爲這是一個rpc代理問題。看,我有Widget A,我在那裏啓動RPC服務。在小部件A中,我實例化了另一個小部件,小部件B.當我將小部件B從小部件A傳遞給小部件B時。 – Rafael 2009-09-04 16:46:59

相關問題