Hibernate學習筆記(一)——插入一條帶有外鍵的數據

存在兩張表,它們是多對一的關係

@Entity
@Table(name = "goods", schema = "weitao")
public class Goods {

    private int id;
    private String name;
    private Double price;
    private Integer number;
    private String description;
    private TinyCategory categoryId;
}

@Entity
@Table(name = "shopping_entry", schema = "weitao")
public class ShoppingEntry {

    private int id;
    private int number;
    private Goods goods;

    @ManyToOne(targetEntity = Goods.class)
    @JoinColumn(name = "goods_id", referencedColumnName = "id")
    public Goods getGoods() {
        return goods;
    }

    public void setGoods(Goods goods) {
        this.goods = goods;
    }

}
Goods表中有各類商品,想要插入ShoppingEntry的同時使外鍵生效,但是session.save(entry)存儲時不能直接對外間進行賦值


解決方法:

Goods goods = (Goods) session.load(Goods.class, Integer.valueOf(newEntry.get("goodsId").toString()));
ShoppingEntry entry = new ShoppingEntry();
entry.setNumber(Integer.valueOf(newEntry.get("number").toString()));
entry.setGoods(goods);
session.save(entry);





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章