2012-05-23 113 views
0

我有Spring MVC web應用程序。我想使用Hibernate和AJAX。 有兩個實體:Item和CatalogItem。實體CatalogItem包含一些字段和對Item的引用。帶嵌套對象的AJAX請求到Spring MVC控制器

有可能使用AJAX創建CatalogItem?與普通的對象,我有沒有問題,但與嵌套..我想是這樣的: POST請求從jQuery的:

$.ajax({ 
    'type': 'POST', 
    'url': myurl, 
    'contentType': 'application/json', 
    'data': JSON.stringify({'count':10,'deliveryTime':'2012-12-12T12:12:12', 
    'itemId':{'name':'name','price':100,'description':'qwerty'}}), 
    'dataType': 'json', 
    'success': function(){ 
     // 
    } 
}); 

春天控制器:

@RequestMapping(value = "/add", method = RequestMethod.POST) 
public void addItem(@RequestBody CatalogItem catalogItem) { 
    catalogDAO.addCatalogItem(catalogItem); 
} 

但是,這是行不通的。它拋出

[Request processing failed; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: entities.CatalogItem.itemId] with root cause 
org.hibernate.PropertyValueException: not-null property references a null or transient value: entities.CatalogItem.itemId 

你能幫我嗎?

+0

您正在嘗試保存一個CatalogItem而沒有先保存一個Item。 – bvulaj

回答

2

您正嘗試保存一個CatalogItem而不先保存一個Item。

沒有看到您的映射,很難說另有說明。

閱讀關於cascading的Hibernate文檔。

+0

謝謝,它有幫助! :) – DenisM