我的名为Stock的实体bean包含
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="stockid")
private List<StockSize> stockSizeList = new ArrayList<StockSize>();
我的StockSize实体bean包含来自Stock
的一个字段stockid以下是设置股票实体价值的代码
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>());
它给出了一个错误,因为当容器持有StockSize
时它无法获得stockid那么在EJB3.0中是否存在任何后持久类型的东西,即StockSize在持有股票后仍然存在?
或只有一个解决方案,我必须将两个实体分开。
答案 0 :(得分:0)
因为我不知道你得到了什么错误或你的代码如何持续我只能猜测(提示 *提示*)
但处理Y-To-X-Relationships时的一个共同点是父(这里“Stock”)不能在其子节点(此处为“StockSize”)之前保留。原因如果stockSize与库存的x-To-Y关系比你必须先保留空对象并插入关系并更新。
如果这不能解决您的问题,请发布您的堆栈跟踪。