2011-06-08 72 views
0
命名的股票

我的實體bean包含問題堅持兒童實體EJB

@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL) 
@JoinColumn(name="stockid") 
private List<StockSize> stockSizeList = new ArrayList<StockSize>(); 

我StockSize實體bean包含來自股票

下面一個字段stockid是集Stock實體值

Stock stock = new Stock(); 
    stock.setDesignCode("123design"); 
       stock.setLotNo("123lot"); 
       stock.setCreatedByUserId(getIBusinessDelegateOperationSessionContext().getUserId()); 
       stock.setCreatedDate(new Date()); 
       stock.setIsSystemRecord(StaticTableConstants.NOT_ISSYSTEMRECORD); 
       stock.setLastModifiedDate(new Date()); 
       stock.setLastModifiedByUserId(getIBusinessDelegateOperationSessionContext().getUserId()); 


    stock.setStockSizeList(listStockSize != null ? listStockSize : new ArrayList<StockSize>()); 
代碼

它給出了一個錯誤,因爲當容器持續存在時它不能獲得stockid StockSize

因此,在EJB3.0中是否存在任何後續持久性類型的事件,即股票持續存在後持續存在?

或只有一個解決方案,我必須堅持兩個實體分開。

回答

0

,因爲我不知道你會得到什麼錯誤,或者你的代碼是如何堅持與Y到X-關係打交道時,我只能猜測(提示 *提示*)

但共同的一點是父母(這裏「股票」)不能堅持在其子女(此處爲「StockSize」)之前。因爲如果stockSize與股票之間存在x-To-Y關係,則必須先保留空對象並插入關係並更新。

如果這不能解決您的問題,請發佈您的堆棧跟蹤。