HIbernate一对一映射类对象

时间:2014-11-24 06:24:11

标签: java hibernate one-to-one

我是hibernate的新手,我正在进行一对一的映射, 我怀疑,

`     
        Stock stock = new Stock();

        stock.setStockCode("4715");
        stock.setStockName("GENM"); 

        StockDetail stockDetail = new StockDetail();
        stockDetail.setCompName("GENTING Malaysia");
        stockDetail.setCompDesc("Best resort in the world");
        stockDetail.setRemark("Nothing Special");
        stockDetail.setListedDate(new Date());

        stock.setStockDetail(stockDetail);
        /* why below line */
        stockDetail.setStock(stock);

        session.save(stock);`

mydoubt是为什么我们要在StockDetail对象中插入Stock对象??? 因为我们已经在Stock Object中插入了StockDetail。

1 个答案:

答案 0 :(得分:0)

要保存我们需要的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。