2011-06-08 73 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关系,则必须先保留空对象并插入关系并更新。

如果这不能解决您的问题,请发布您的堆栈跟踪。