我是冬眠的新手,我正在做一对一的映射,
我有个疑问,
`
库存=新库存();
stock.setStockCode(“ 4715”);
stock.setStockName(“ GENM”);
StockDetail stockDetail = new StockDetail();
stockDetail.setCompName(“ GENTING Malaysia”);
stockDetail.setCompDesc(“世界上最好的度假胜地”);
stockDetail.setRemark(“没什么特别的”);
stockDetail.setListedDate(new Date());
stock.setStockDetail(stockDetail);
/ *为什么在行* /
stockDetail.setStock(stock);
session.save(stock);`
疑问是为什么我们要在StockDetail对象中插入Stock对象???
因为我们已经在Stock Object中插入了StockDetail。
最佳答案
对于保存stock
对象,我们需要
Stock stock = new Stock();
stock.setStockCode("4715");
stock.setStockName("GENM");
但是,为了与
stock
一起保存StockDetail
,您需要同时设置两个字段并获取保存的stock
的ID(要与StockDetail
保存,因为我们需要保持外键关系)它需要
StockDetail.getStock().getId()
语句
stock.setStockDetail(stockDetail);
设置stock
对象的StockDetail
的详细信息。包括数据库中
stock
的已保存和生成的ID。关于java - HIbernate一对一映射类对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27098978/