我是冬眠的新手,我正在做一对一的映射,
我有个疑问,

`
        库存=新库存();

        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/

10-11 15:07